В чем смысл приложения @ 2x для Retina Display? - PullRequest
1 голос
/ 25 февраля 2012

Я понимаю, что дисплей Retina имеет в 2 раза больше пикселей, чем дисплей без Retina, но в чем разница между использованием версии @ 2x и получением и получением изображения 512 x 512 и ограничением его размером кадра?

Чтобы уточнить:

, если у меня есть кнопка 72 х 72. Правильный способ отобразить ее на iPhone - это

image.png = 72x72

image@2x.png = 144 x 144 <--- исправлено :) TY </p>

Но почему бы просто не использовать 1 изображение:

image.png = 512x512

и сделайте что-то вроде этого:

UIImageView *myImage = [[UIImageView alloc] init ];
[myImage setImage:[UIImage imageNamed:@"image.png"]];
[myImage setFrame:CGRectMake(50, 50, 72, 72)];

Я уверен, что есть веская причина, я просто не знаю, что это, кроме, возможно, меньшего размера файла приложения?

Спасибо за образование!

Ответы [ 6 ]

4 голосов
/ 25 февраля 2012

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

Другая причина заключается в том, чтобы просто сократить общий размер файла вашего двоичного файла: aЗначок 16x16 занимает на несколько порядков меньше байтов, чем изображение 512x512.

И если вам нужна третья причина: удобные методы, такие как [UIImage imageWithName: @ "xxxx"], создают изображения реального размера и обычно ненужен дополнительный код рамки / границ, чтобы согласиться с ними.Если вы знаете размер, вы можете избавить себя от головной боли.

2 голосов
/ 25 февраля 2012

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

1 голос
/ 25 февраля 2012

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

1 голос
/ 25 февраля 2012

Потому что большие изображения занимают много памяти и циклов CPU / GPU. Другая причина заключается в том, что при уменьшении изображения возникают проблемы с качеством на уровне пикселей.

0 голосов
/ 16 октября 2014

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

0 голосов
/ 25 февраля 2012

Соглашение об именовании @ 2x существует в том случае, если исходное изображение точно такого же размера, что и отображаемое изображение. Тогда у вас может быть значок приложения 57x57 для iPhone без Retina и значок приложения 114x114 для iPhone с дисплеем Retina.

...