Un píxel es una colección de componentes. Tradicionalmente, estos componentes son rojos, verdes y azules, y cada uno de ellos toma 8 bits de datos.
Como a menudo es ventajoso tener la memoria alineada de ciertas maneras, estas a veces se empaquetan en 32 bits de espacio cada una. Esto deja 8 bits de datos adicionales al final de cada píxel. Como no es rojo, ni verde ni azul, necesita un nombre, y alfa era un nombre relativamente sin sentido.
Ahora, cuando tiene una matriz de píxeles dispuestos en un rectángulo, obtiene esto:
RGBARGBARGBARGBA
RGBARGBARGBARGBA
RGBARGBARGBARGBA
RGBARGBARGBARGBA
a veces solo quieres hablar sobre uno de los colores anteriores, por ejemplo, rojo:
R***R***R***R***
R***R***R***R***
R***R***R***R***
R***R***R***R***
esta subselección de solo un elemento de cada componente de píxel se denomina "canal" en la imagen. Como los píxeles tienen 4 componentes, esta imagen tiene 4 canales.
Hay otros formatos de imagen donde no hay canal alfa:
RGBRGBRGBRGB
RGBRGBRGBRGB
RGBRGBRGBRGB
RGBRGBRGBRGB
y hay formatos con diferentes números de bits por componente de píxel (3,5,8,16,32), y algunos tienen bits no uniformes por componente de píxel.
El canal se convierte en la matriz "virtual" de un solo componente de píxel. (Digo virtual, porque hay un paso entre cada elemento, mientras que las matrices tradicionalmente no tienen ese paso)
La parte RGB tampoco está fija: puede tener una imagen en escala de grises con o sin un canal alfa, puede tener una imagen CMYK (Cyan Magenta Yellow blacK, generalmente en un espacio de color sustractivo), puede tener una imagen que tenga un Una miríada completa de diferentes canales de color creados por un trazador de rayos especular o un instrumento científico.
Si bien he tratado los píxeles como si siempre fueran contiguos, también es posible dividir los canales en varias ubicaciones, como esta:
RRRRGGGGBBBBAAAA
RRRRGGGGBBBBAAAA
RRRRGGGGBBBBAAAA
RRRRGGGGBBBBAAAA
o incluso
RRRR
RRRR
RRRR
RRRR
GGGG
GGGG
GGGG
GGGG
BBBB
BBBB
BBBB
BBBB
AAAA
AAAA
AAAA
AAAA
o tiene RGB empaquetado y A almacenado en un búfer separado.
Esto es poco común en los datos en vivo en los juegos, porque las tarjetas gráficas modernas a menudo están diseñadas alrededor de píxeles RGBA. RGB se puede manejar de manera uniforme, y con A se pueden hacer cálculos rápidos adyacentes que permiten la composición de un píxel RGBA sobre un fondo prepintado.
El canal alfa a menudo se usa para información de transparencia. Molesto, el valor máximo de alfa a veces se trata como transparente, y a veces como opaco, por diferentes bases de código. Esto nuevamente es menos común hoy en día. El canal alfa también se ha utilizado para ordenar z-buffer (qué tan lejos está el píxel del espectador) para permitir el dibujo desordenado a una escena, y tradicionalmente el mapeo de mip se realizó insertando la imagen de resolución más baja 2x 2x (o 4x menos píxeles) en El canal alfa de la imagen de mayor resolución, recursivamente.
Incluso en un sistema que usa píxeles RGBA, el significado de estos píxeles puede estar en desacuerdo. ¿R mide cuánto rojo ve un humano, o cuántos fotones de rojo debería emitirse? Esta es la diferencia entre espacios de color lineales y no lineales, y afecta la forma correcta de componer dichos píxeles con un canal de transparencia.