Введение

Цветовая модель RGB с каналом прозрачности.

RGBA расшифровывается как красный, зеленый, синий, альфа. Хотя иногда это описывают как цветовое пространство, на самом деле это трехканальная цветовая модель RGB, дополненная четвертым альфа-каналом. Альфа-канал определяет степень прозрачности каждого пикселя и позволяет накладывать изображение на другие, используя альфа-композицию, с прозрачными областями и сглаживанием краев непрозрачных областей. Этот термин не определяет, какое конкретно цветовое пространство RGB используется. Он также не указывает, умножены ли цвета на значение альфа, и если да, то в каком цветовом пространстве было выполнено это умножение. Это означает, что для правильной обработки изображения требуется больше информации, чем просто "RGBA". В некоторых контекстах аббревиатура "RGBA" обозначает конкретную структуру памяти (обозначаемую как RGBA8888 далее), а другие обозначения, такие как "BGRA", используются для альтернативных вариантов. В других контекстах "RGBA" может означать любую структуру.

RGBA8888

В OpenGL и Portable Network Graphics (PNG) используется порядок байтов RGBA, при котором цвета хранятся в памяти так, что R располагается по наименьшему адресу, затем G, после него B, и A – последним. На архитектурах с little-endian порядком байтов это эквивалентно ABGR32. Во многих системах, когда на канал приходится более 8 бит (например, 16 бит или формат с плавающей точкой), каналы хранятся в порядке RGBA, даже если 8-битные каналы хранятся в другом порядке.

RGBA32

В некоторых программах, разработанных для больших эндианских машин, таких как Silicon Graphics, цвета хранились в 32 битах, аналогично ARGB32, но с альфа-каналом в младших 8 битах, а не в старших. Например, значение 808000FF будет соответствовать красному и зеленому: 50,2%, синему: 0% и альфа-каналу: 100%, то есть коричневому цвету. Такой результат получится, если данные RGBA8888 будут интерпретироваться как слова на этих машинах. Этот формат используется в Portable Arbitrary Map и FLTK, но в целом встречается нечасто. На машинах с малой эндианностью байты хранятся в памяти в порядке ABGR.