Сколько бит на компонент нужно указать для 24-битных PNG-файлов, оптимизированных по pngcrunch, с альфа-прозрачностью? - PullRequest
0 голосов
/ 15 мая 2009

CGBitmapContextCreate принимает параметр, который не очень очевиден для меня:

Например, для 32-битного формата пикселей и цветовое пространство RGB, вы бы указать значение 8 бит на компонент.

Я создал 24-битные файлы PNG с прозрачностью alphatransparency и добавил их в Xcode. Во время компиляции Xcode оптимизирует эти плитки PNG с помощью pngcrunch.

Итак, при попытке сделать графический контекст из такого файла изображения на iPhone-OS мне нужно указать биты для каждого компонента.

В этом случае я бы сказал, что они составляют 4 бита на компонент, хотя я не знаю, считается ли альфа компонентом.

1 Ответ

5 голосов
/ 15 мая 2009

Это 8 бит на компонент:

Red:8;
Green:8;
Blue:8;
Alpha:8;

Это добавляет до 32 бит на пиксель. Ваш 24-битный png с прозрачностью - 24 бит для RGB, плюс 8 бит для прозрачности («альфа-канал»).

...