2010-09-18 12 views
0

Avant que l'affichage de la rétine ne vienne sur iOS, j'ai développé quelques contrôles qui sont dessinés en utilisant des images extensibles et beaucoup de code graphique de base.Y at-il quelque chose de spécial que je dois savoir lorsque je dessine des images dans des graphiques de base?

Maintenant, je l'ai testé sur un dispositif d'affichage de la rétine, et les graphiques sont mal placés et déformés. Tout ce qui est chargé avec le suffixe @ 2x et UIImage imageNamed fonctionne correctement.

Je suppose qu'il doit y avoir des considérations spéciales lors de l'utilisation d'images dans les graphiques de base. Par exemple, j'obtiens très souvent le CGImage d'un UIImage.

Quelqu'un sait-il?

Répondre

1

UIImage est une façade au-dessus de CGImage (et IOSurface en tant qu'API privée). Puisque CGImage n'a pas de concept d'échelle, il reflétera la taille réelle du tampon de l'image - pour les images @ 2x, les dimensions CGImage seront deux fois plus grandes que la taille de UIImage.

+0

alors à chaque fois que je fais affaire avec un CGImage, n'importe où, je devrais multiplier les tailles avec l'échelle? Une autre question à ceci: http://stackoverflow.com/questions/3745126/must-i-multiply-the-scale-with-the-point-values-for-retina-display-in-this-case – openfrog