Gestion des image sur iOS

Quel format d’image?

Apple recommande 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).

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
– une meilleure gestion par iOS

Pourquoi la gestion des images?

La gestion des sur iOS peut-être quelque chose de très complexe du fait de la diversification des résolution introduite par l’arrivée de l’iPad puis du Retina Display (qui double l’affichage) comme nouvelle technologie d’écran.
Sur des application complexes, on peut facilement multiplier les lignes de codes ou le nombre d’images. Ceci peut donc être très couteux en temps de développement à proprement dit puis en maintenance.

Comment rationnaliser?

Un système de notation par suffixe permet de vous simplifier la vie. En effet, nul besoin de tester le type d’appareil ou le type d’affichage, laissons iOS gérer cela comme un grand.

Lorsque l’on crée une image via UIImage, l’OS peut détecter à la fois :
– l’extension si png, j’ai rencontré quelques problèmes avec le format jpg qui de plus n’est pas recommander par Apple.
– le type de résolution en fonction de l’écran et du périphérique

Nous allons prendre le cas d’une image de 100px x 100px sur iPhone pour faire face aux 4 cas d’affichage d’une image :

Type d’affichageiPhoneiPhone avec Retina DisplayiPadiPad avec Retina Display
Exemple de résolution d’une image
(largeur x hauteur)
100px x 100px200px x 200px150px x 150px300px x 300px
Modèle de nom de fichier à utilisermon_image.pngmon_image@2x.pngmon_image~ipad.pngmon_image@2x~ipad.png

Exemple de code :

UIImage *image = [UIImage imageNamed:@"mon_image"];
UIImageView *vueImage = [[UIImageView alloc] initWithImage:image];

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.