Проблема с отображением изображений "@ 2x.png" в iPad - PullRequest
0 голосов
/ 24 января 2011

В моем приложении для iphone есть два изображения: "cat.png" и "cat@2x.png"

Я слышал, что если мы хотим отобразить увеличенное изображение (для версии для iPad), тогда вы даете имя как "@ 2x.png", и оно автоматически обнаруживает устройство и отображает увеличенное изображение в iPad.

Это правда? Если да, я сделал то же самое, но он не отображает «cat@2x.png», когда я проверяю в iPad.

Что может быть не так?

ПРИМЕЧАНИЕ: я знаю, что есть пост, обсуждающий эту вещь для icon.png НО в моем случае я ссылаюсь на все изображения.

Ответы [ 2 ]

3 голосов
/ 24 января 2011

@ 2x - расширение для дисплея сетчатки iPhone 4. Вы хотите сохранить две версии изображения, если выпускаете приложение для iPhone. например myimage@2x.png и myimage.png.

Читать это: https://developer.apple.com/library/ios/documentation/2DDrawing/Conceptual/DrawingPrintingiOS/SupportingHiResScreensInViews/SupportingHiResScreensInViews.html#//apple_ref/doc/uid/TP40010156-CH15-SW8

Выдержка:

Standard: <ImageName><device_modifier>.<filename_extension> 
High resolution: <ImageName>@2x<device_modifier>.<filename_extension>

Части <ImageName> и <filename_extension> каждого имени указывают обычное имя и расширение файла. Часть <device_modifier> является необязательной и содержит либо строку ~ipad, либо ~iphone.

Вы включаете один из этих модификаторов, когда хотите указать разные версии изображения для iPad и iPhone. Добавление модификатора @2x для изображения с высоким разрешением является новым и позволяет системе узнать, что изображение является вариантом стандартного изображения с высоким разрешением.

2 голосов
/ 24 января 2011

В iPad недостаточно оперативной памяти для поддержки псевдоэмуляции iPhone с графикой @2x, поэтому ОС не будет выбирать их автоматически (как объяснил @Joseph Tura).

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

Мэтт Рикс,Создатель превосходных игр Trainyard, объясняет, как он делал это в Cocos 2D, в серии из двух постов: Retinafy Your Game и Графика высокого разрешения в Cocos2D.Если вы играете только на iPhone (не Universal) Trainyard и Trainyard Express на своем iPad, графика выглядит великолепно и не имеет двукратного пиксельного вида, потому что его код поменяется местамив конкретной графике, если в игру для iPhone играют на iPad.

Даже если вы не используете Cocos 2D для разработки игр, применяется та же базовая структура.Я рекомендую взглянуть.

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