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’affichage iPhone iPhone avec Retina Display iPad iPad avec Retina Display
Exemple de résolution d’une image
(largeur x hauteur)
100px x 100px 200px x 200px 150px x 150px 300px x 300px
Modèle de nom de fichier à utiliser mon_image.png mon_image@2x.png mon_image~ipad.png mon_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.