Gestion des image sur Android

Quel format d’image?

Le format PNG sur 24 bits (8 bits pour le rouge, 8 bits pour le vert, 8 bits pour le bleu, 8 bits pour la transparence) est bien adapté pour réalisé un design complexe.

Les principales différences avec le format JPG, très répandu, sont :
– une qualité sans perte
– la gestion de la transparence
– un affichage plus propre pour les rendus typographiques

Quel taille d’image?

De part la nature d’Android d’être disponible sur plusieurs type de résolution, il est très difficile de s’y retrouver. Cependant, le système de chargement d’image permet de vous simplifier la vie. En effet, suivant la résolution de l’appareil il prendra l’image dans un répertoire dédié.

Nous allons prendre le cas d’une image de 100px x 100px en ldpi et voir les différents formats d’image à utiliser.

DensitéFormatRépertoire
ldpi (120dpi)100px x 100px/res/drawable-ldpi
mdpi (160dpi)135px x 135px/res/drawable-mdpi
hdpi (240dpi)200px x 200px/res/drawable-hdpi
xhdpi (320dpi)  270px x 270px/res/drawable-xhdpi
xxhdpi (480dpi)  400px x 400px/res/drawable-xxhdpi
xxxhdpi (640dpi) 540px x 540px/res/drawable-xxxhdpi

 

On peut aussi mettre une image par défaut dans le répertoire /res/drawable qui sera pris en compte si aucune image ne correspond. Si une résolution xxxhdpi est utilisé mais que l’image n’existe, le loader d’image sur Android privilégiera toujours celle de la densité précédente et la redimensionnera.

Il existe encore d’autres densité d’images sur Android,  notamment la tvdpi. Mais elles ne sont pas considérés comme des densités primaires, cependant si des besoins spécifiques se font sentir (comme pour des applications TV) alors on pourra y recourir.

Simplifier la conversion, le travail des batchs

Si vous voulez gagner du temps pour traiter vos images, il existe de multiples outils permettant la conversion par lot d’images.
Le plus connu, Adobe Photoshop, mais l’outil étant payant on peut lui préférer GIMP ou ImageMagick.