2010-11-06 5 views
1

Мое приложение хранит изображения как объекты NSData. Однако, когда они загружены на iPhone 4, они отображаются в двойном размере, так как коэффициент масштаба по умолчанию равен 1. У меня есть 2 вопроса, я был бы признателен за помощь с пожалуйста:Указание масштаба для UIImage, загруженного из NSData

  1. Есть ли способ, чтобы установить шкала UIImage без использования initWithCGImage:scale:orientation:

  2. Если ответ на вопрос 1 нет, то какой самый эффективный способ загрузить NSData в UIImage, используя метод выше? В настоящее время мне кажется, что мне нужно будет создать UIImage из NSData, а затем создать еще один UIImage, используя метод, описанный выше в 1.

спасибо.

ответ

1
  1. UIImage является неизменным, поэтому я думаю, что нет никакого способа сделать это без взлома.
  2. UIImage - это всего лишь обертка CGImage, поэтому я думаю, что использование initWithCGImage:, как вы опишете, не будет иметь заметного влияния на производительность. Если вы действительно беспокоитесь об этом, вы можете загрузить его до CGImageRef.
+0

Спасибо, но, похоже, я загружу в объекты памяти 2 объекта, либо 2 объекта UIImage, либо объект UIImage, и CGImageRef. Я только что протестировал это, и у него есть значительное влияние на производительность, тем более, что эти изображения рисуются в UITableViewCell. Я достигаю более высокой производительности, просто рисуя изображение в прямом или чертеже в точке с помощью UIImage, созданного с использованием метода в моем вопросе. – RunLoop