Изображения iPhone на симуляторе и на реальном устройстве - разные значения bitsPerPixel? - PullRequest
1 голос
/ 18 марта 2010

У меня есть код в приложении для iPhone, которое я разрабатываю. В основном, код должен загружать изображения и звонки:

size_t bitsPerPixel             = CGImageGetBitsPerPixel(imageRef);

Я заметил, что на симуляторе iPhone этот вызов возвращает 24, а само устройство возвращает 32.

Это поведение задумано? Это то, что я могу контролировать?

1 Ответ

0 голосов
/ 18 марта 2010

Я думаю, что все сводится к формату изображения.

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

Это может быть разница, которую вы видите. И причина, по которой вы не видите этого в симуляторе, состоит в том, что симулятор использует графический процессор Mac и, следовательно, может обрабатывать альфа в PNG, что означает, что PNG не «разбиваются» в процессе сборки.

Я думаю ...

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