Форматы пикселей окна определяют способ хранения информации в памяти GPU
Модель RGBA использует цветовое кодирование Red Green Blue (RGB) с дополнительной информацией об альфа канале (уровень прозрачности). Приложения, которым не требуется альфа-смешивание, могут использовать форматы, имеющие в качестве альфа-компонента отметку X.
Screen API поддерживает следующие форматы пикселей окон (описание этих форматов доступно на сайте www.fourcc.org):
Формат | Описание |
---|---|
SCREEN_FORMAT_BYTE | |
SCREEN_FORMAT_RGBA4444 | 16 бит-на-пиксель; (4 бит на канал) RGB с альфа каналом. |
SCREEN_FORMAT_RGBX4444 | 16 бит-на-пиксель; (4 бит на канал) RGB с альфа каналом (альфа канал игнорируется). |
SCREEN_FORMAT_RGBA5551 | 16 бит-на-пиксель; 2 байта содержат R, G, и B компоненты (5 бит на канал и 1 бит на альфа компонент). |
SCREEN_FORMAT_RGBX5551 | 16 бит-на-пиксель; 2 байта содержат R, G, и B компоненты (5 бит на канал и 1 бит на альфа компонент, который игнорируется). |
SCREEN_FORMAT_RGB565 | 16 бит-на-пиксель; 5 бит на R и B компоненты и 6 бит для G. Формат представляет следующий порядок бит (от старшего байта к младшему): RRRRRGGG GGGBBBBB. |
SCREEN_FORMAT_RGB888 | 24 бит-на-пиксель; (8 бит на канал) RGB. |
SCREEN_FORMAT_RGBA8888 | 32 бит-на-пиксель; (8 бит на канал) RGB с альфа каналом. |
SCREEN_FORMAT_RGBX8888 | 32 бит-на-пиксель; (8 бит на канал) RGB с альфа каналом (альфа канал игнорируется). |
SCREEN_FORMAT_YVU9 | 9 бит-на-пиксель; YUV формат. 8-bit Y поверхность и 8-bit 4x4 субсэмплированные V и U поверхности. Зарегистрирован Intel. |
SCREEN_FORMAT_YUV420 | Стандартный формат передачи NTSC TV. |
SCREEN_FORMAT_NV12 | 12 бит-на-пиксель; YUV формат. 8-bit Y поверхность и 2x2 субсэмплированные, чередующиеся U и V поверхности. |
SCREEN_FORMAT_YV12 | 12 бит-на-пиксель; YUV формат. 8-bit Y поверхность и 8-bit 2x2 субсэмплированные U и V поверхности. |
SCREEN_FORMAT_UYVY | 16 бит-на-пиксель; упакованный YUV формат. YUV 4:2:2 — Y сэмпл в каждом пикселе, U и V сэмплы в каждом втором пикселе горизонтально на каждой линии. Макропиксель содержит 2 пикселя в 1 типе u_int32 . |
SCREEN_FORMAT_YUY2 | 16 бит-на-пиксель; упакованный YUV формат. YUV 4:2:2 как в UYVY, но с отличным порядком компонентов в u_int32 макропикселе. |
SCREEN_FORMAT_YVYU | 16 бит-на-пиксель; упакованный YUV формат. YUV 4:2:2 как в UYVY, но с отличным порядком компонентов в u_int32 макропикселе. |
SCREEN_FORMAT_V422 | Упакованный YUV формат. Инвертированная версия UYVY. |
SCREEN_FORMAT_AYUV | Упакованный YUV формат. Комбинируется YUV и альфа канал. |
Также в Screen API поддерживаются следующие дополнительные форматы:
Формат | Описание |
---|---|
SCREEN_FORMAT_BGRA8888 | 32 бит-на-пиксель; (8 бит на канал) RGB с альфа каналом. Формат представляет следующий порядок бит (от старшего байта к младшему): BBBBBBBB GGGGGGGG RRRRRRRR AAAAAAAA. |
SCREEN_FORMAT_BGR565 | 16 бит-на-пиксель; 5 бит на R и B компоненты и 6 бит для G. Формат представляет следующий порядок бит (от старшего байта к младшему): BBBBBGGG GGGRRRRR |
SCREEN_FORMAT_BGRA5551 | 16 бит-на-пиксель; 2 байта содержат R, G, и B компоненты (5 бит на канал и 1 бит на альфа компонент). Формат представляет следующий порядок бит (от старшего байта к младшему): BBBBBGGG GGRRRRRA. |
Предыдущий раздел: Окна