UIImagePNGRпредставление () и масштаб (экран iPhone 4) - PullRequest
6 голосов
/ 29 июня 2010

У меня есть некоторый код, генерирующий изображения, который использует UIGraphicsBeginImageContext (), UIGraphicsGetImageFromCurrentImageContext () и UIImagePNGRepresentation () для создания некоторого рисунка, а затем сохраняет его на диск как PNG для дальнейшего использования.) принять во внимание масштаб?Например, если у меня есть изображение шириной 20 точек, будет ли результирующий PNG размером 20 или 40 пикселей?

Кроме того, когда я отображаю эти изображения, я использую [UIImage imageWithContentsOfFile:] и [image drawInRect:].Есть ли способ намека на эти методы использовать рисование с более высоким разрешением?

1 Ответ

6 голосов
/ 14 июля 2010

В соответствии с Руководством по программированию приложений iPhone вы должны использовать UIGraphicsBeginImageContextWithOptions со шкалой 2,0, чтобы создать правильно масштабированный контекст для iPhone 4.

Что касается второй части вашеговопрос, я полагаю, вам следует сохранить полученный png с суффиксом @ 2x на базовом имени (например, myImage@2x.png).Затем, когда вы снова загрузите его, используя UIImage, его размер и масштаб будут правильно установлены.В противном случае ваше изображение будет загружено в масштабе 1,0 и будет в два раза больше (в точках), чем вы ожидаете. В этом разделе того же документа подробно рассматриваются изображения с высоким разрешением для устройств с дисплеями с высоким разрешением.

...