Піксель - це сукупність компонентів. Традиційно ці компоненти червоного, зеленого та синього кольорів, кожен з яких бере 8 біт даних.
Оскільки часто вигідним є вирівнювання пам’яті певними способами, вони інколи пакуються в 32 біти простору кожен. Це залишає 8 біт додаткових даних у кінці кожного пікселя. Оскільки це не є ні червоним, ні зеленим, ні блакитним, йому потрібна назва - і альфа була відносно безглуздою назвою.
Тепер, коли у вас є масив пікселів, розташованих у прямокутник, ви отримуєте це:
RGBARGBARGBARGBA
RGBARGBARGBARGBA
RGBARGBARGBARGBA
RGBARGBARGBARGBA
іноді хочеться поговорити лише про один із кольорів, наведених вище, скажімо, червоний:
R***R***R***R***
R***R***R***R***
R***R***R***R***
R***R***R***R***
цей підбір лише одного елемента кожного піксельного компонента називається "каналом" на зображенні. Оскільки пікселі мають 4 компоненти, це зображення має 4 канали.
Є інші формати зображень, де немає альфа-каналу:
RGBRGBRGBRGB
RGBRGBRGBRGB
RGBRGBRGBRGB
RGBRGBRGBRGB
і є формати з різною кількістю біт на піксельну складову (3,5,8,16,32), а деякі мають нерівномірні біти на піксельну складову.
Канал стає "віртуальним" масивом лише одного піксельного компонента. (Я кажу віртуально, тому що між кожним елементом є крок, тоді як масиви традиційно не мають такого кроку)
Частина RGB також не зафіксована - у вас може бути зображення сірого масштабу з альфа-каналом або без нього, ви можете мати зображення CMYK (Cyan Magenta Yellow blacK, як правило, у віднімаючому кольоровому просторі), ви можете мати зображення, яке має ціла безліч різних кольорових каналів, створених дзеркальним променевим лучником або науковим інструментом.
У той час як я ставлюся до пікселів так, ніби вони завжди є суміжними, також можна розділити канали на кілька локацій, як це:
RRRRGGGGBBBBAAAA
RRRRGGGGBBBBAAAA
RRRRGGGGBBBBAAAA
RRRRGGGGBBBBAAAA
або навіть
RRRR
RRRR
RRRR
RRRR
GGGG
GGGG
GGGG
GGGG
BBBB
BBBB
BBBB
BBBB
AAAA
AAAA
AAAA
AAAA
або пакують RGB, а A зберігаються в окремому буфері.
Це є рідкістю в живих даних в іграх, тому що сучасні графічні карти часто розроблені навколо пікселів RGBA. RGB можна обробляти рівномірно, і за допомогою суміжних швидких розрахунків можна зробити, які дозволяють складати піксель RGBA поверх попередньо пофарбованого фону.
Альфа-канал часто використовується для інформації про прозорість. Прикро, що максимальне значення альфа іноді трактується як прозоре, а іноді як непрозоре, різними базами коду. В даний час це знову рідше. Альфа-канал також використовувались для впорядкування z-буфера (наскільки піксель знаходиться від глядача), щоб дозволити малюнок до невпорядкованого зображення, а традиційне картографічне відображення здійснювалося шляхом введення зображення 2х 2x (або 4х менших пікселів) у зображення нижчої роздільної здатності альфа-канал зображення з більшою роздільною здатністю, рекурсивно.
Навіть у системі, яка використовує пікселі RGBA, значення цих пікселів може не погоджуватися. Чи вимірює R, скільки червоного бачить людина, або скільки фотонів червоного кольору повинно випромінюватися? Це різниця між лінійними та нелінійними кольоровими просторами, і це впливає на правильний спосіб складання зазначених пікселів з каналом прозорості.