2010-10-19 5 views
0

Je crée une application qui a des images dans une vue sélecteur, mais j'ai remarqué que ces images apparaissent pixélisées. Actuellement, j'ai la résolution fixée à 72 pixels/pouce. Je l'ai augmenté à 300 pixels/pouce, mais je n'ai pas remarqué de changement. Quelqu'un at-il rencontré le problème?iPhone Résolution de l'image

Répondre

0

Vous devez fournir le même fichier qu'un fichier "@ 2x" avec une taille double. Par exemple, si vous avez:

myImage.png #32x32 

Ensuite, vous devez également:

[email protected] #64x64 

Lorsque vous appelez la ressource, vous pouvez utiliser de la même façon et ignorer la partie @2x du nom du fichier. IOS fera la bonne chose. Sur les appareils haute densité, il choisira le fichier le plus grand, sinon il choisira le plus petit.

[UIImage imageNamed:@"myImage.png"] 
+0

Selon la documentation d'Apple, vous n'avez pas besoin de l'extension '.png' pour appeler' imageNamed: '. En outre, ce code fonctionnera uniquement sur iOS 4.x ou version ultérieure. Par conséquent, s'ils envisagent de prendre en charge, par exemple, un iPad exécutant iPhone OS 3.2, ils auront besoin d'un code de gestion d'image différent. – fbrereto

+1

Vous n'avez pas besoin du png, mais cela fonctionne avec ou sans. Ce code fonctionne sur tous les systèmes d'exploitation. Si c'est un affichage de la rétine, il utilisera la grande image, sinon, non. Une image iPad différente pour une mise en page différente n'est pas un problème pertinent à cette question. – coneybeare

1

Si vous créez ces images dans Photoshop, la modification du DPI ne modifiera pas le fichier image. Une image 4x4 aura 16 pixels. Lorsque vous changez le DPI, cela change simplement la taille de ces pixels sur votre écran. Dans le cas de l'affichage de la rétine, vous devez créer une image dont la taille est double (par exemple, 8x8).

0

Vous n'avez pas besoin du png, mais cela fonctionne avec ou sans. Ce code fonctionne sur tous les systèmes d'exploitation. S'il s'agit d'un affichage rétine, il utilisera la grande image, sinon ne l'essayez pas.