2011-12-21 3 views
0

Я работаю над приложением комикса, которое загружает последний контент с сервера. Он загружает один файл независимо от масштаба экрана. Я бы хотел сделать этот файл правильно на обоих экранах.Используйте одну фотографию для графики 1x и 2x на iPhone.

Какова процедура для этого и как я должен оценивать фотографии в соответствии? Проблема, с которой я столкнулась, заключается в том, что графика - размер экрана сетчатки, но iPhone не интерпретирует их как таковой. Это означает, что они отображаются в два раза больше, чем они должны быть.

ответ

0
CGImageRef cgImage = [myImage cgImage]; 
UIImage *retinaImage = [UIImage imageWithCGImage:cgImage scale:2.0 orientation:UIImageOrientationUp]; 

Вы также можете изменить значение точек на дюйм появление изображений в графическом редакторе, чтобы UIImage осознать масштаб автоматически.

Как правило, вы должны использовать изображения с более низким разрешением на устройствах, у которых нет экрана сетчатки, потому что иначе вы тратите драгоценную память.

+0

Это имеет смысл, но я больше говорил о настройке «на лету» в зависимости от устройства. Другими словами, вы загружаете изображение 100x100, а полученный UIImage после масштабирования - 50x50 на iPhone 3G3, но 100x100 на iPhone 4. – MechEngineer

0

Для нормального экрана, вы можете изменить их программны, путем добавления шкалы категории класса UIImage на примере, есть много примеров коды на StackOverflow, как:

UIImage resize (Scale proportion)

Для сетчатки, вам нужно установите масштаб UIImage, чтобы ios знал, для какого размера экрана он используется (вы можете установить это с помощью метода initWithCGImage: scale: orientation: метод UIImage).

Смежные вопросы