Почему изображения моей клетки пикселированы? - PullRequest
0 голосов
/ 02 июня 2011

Я использую iPhone 4 с дисплеем сетчатки.

У меня есть 60x60 png, который был уменьшен с 500x500 png, который я использую в качестве imageView ячейки.

По какой-то причине изображение выглядит немного неровным и размытым, в основном не доСтандарты дисплея сетчатки.

Что я делаю не так?

Я использую cell.imageView.image = [UIImage imageNamed:@"picture.png"];

Ответы [ 2 ]

1 голос
/ 02 июня 2011

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

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

Также помните, что рекомендуется предоставить две версии вашего файла изображения:

  • Один для нормальных разрешений (iPhone 3G, 3GS ...): picture.png для вашего случая: 30x30px

  • Один для дисплея сетчатки (iPhone 4): picture@2x.png для вашего случая: 60x60px.

0 голосов
/ 02 июня 2011

Поскольку имя файла не соответствует формату base@2x.ext, iOS не распознает, что оно должно использовать масштабный коэффициент 2. Существует два решения:

Лучше всего предоставить две версии изображения: одну для дисплеев без сетчатки, которая будет иметь название picture.png, а другую - в два раза больше для дисплеев сетчатки, которая будет иметь название picture@2x.png. Вы все равно используете [UIImage imageNamed:@"picture.png"];, iOS автоматически замечает, когда у устройства есть дисплей сетчатки и есть файл с именем picture@2x.png, который должен использовать его вместо этого.

Хакерское решение (которое заставит ваше изображение выглядеть вдвое больше на устройствах без сетчатки) состоит в следующем:

cell.imageView.image = [UIImage imageNamed:@"picture.png"];
cell.imageView.image.scale = [UIScreen mainScreen].scale;

Я рекомендую пойти по пути @2x, вот как это должно быть сделано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...