2010-11-06 6 views
1

Mon application stocke les images en tant qu'objets NSData. Cependant, lorsque ceux-ci sont chargés sur un iPhone 4, ils sont affichés en double de la taille parce que le facteur d'échelle par défaut est 1. J'ai 2 questions que je vous serais reconnaissant de l'aide avec s'il vous plaît:Spécification de l'échelle pour UIImage chargé à partir de NSData

  1. Est-il possible de définir Si la réponse à 1 est non, quel est le moyen le plus efficace pour charger le NSData dans un UIImage en utilisant la méthode ci-dessus? A l'heure actuelle, il me semble que je vais devoir créer un UIImage à partir du NSData et ensuite créer un autre UIImage en utilisant la méthode notée au point 1 ci-dessus.

Merci.

Répondre

1
  1. UIImage est immuable, donc je suppose qu'il n'y a aucun moyen de le faire sans piratage.
  2. UIImage est juste un emballage de CGImage, donc je pense que l'utilisation de initWithCGImage: comme vous le décrivez n'aura aucun impact perceptible sur les performances. Si vous vous inquiétez vraiment à ce sujet, vous pouvez d'abord le charger à CGImageRef.
+0

Merci, mais il semble que je vais charger dans la mémoire 2 objets image, soit 2 objets UIImage ou un objet UIImage et un CGImageRef. Je viens de le tester et il a un impact sur les performances, d'autant plus que ces images sont dessinées dans un UITableViewCell. J'obtiens de meilleures performances en dessinant simplement l'image dans un rect par rapport au dessin à un point avec un UIImage créé en utilisant la méthode dans ma question. – RunLoop

Questions connexes