Un pixel è una raccolta di componenti. Tradizionalmente questi componenti sono rossi, verdi e blu, ognuno dei quali prende 8 bit di dati.
Poiché è spesso vantaggioso allineare la memoria in determinati modi, questi a volte erano impacchettati in 32 bit di spazio ciascuno. Questo lascia 8 bit di dati extra alla fine di ogni pixel. Dato che questo non è né rosso, né verde, né blu, ha bisogno di un nome - e alpha era un nome relativamente insignificante.
Ora, quando hai una matrice di pixel disposta in un rettangolo, ottieni questo:
RGBARGBARGBARGBA
RGBARGBARGBARGBA
RGBARGBARGBARGBA
RGBARGBARGBARGBA
a volte vuoi parlare solo di uno dei colori sopra, dì rosso:
R***R***R***R***
R***R***R***R***
R***R***R***R***
R***R***R***R***
questa sottoselezione di un solo elemento di ciascun componente pixel è chiamata "canale" nell'immagine. Poiché i pixel hanno 4 componenti, questa immagine ha 4 canali.
Esistono altri formati di immagine in cui non esiste un canale alfa:
RGBRGBRGBRGB
RGBRGBRGBRGB
RGBRGBRGBRGB
RGBRGBRGBRGB
e ci sono formati con diverso numero di bit per componente pixel (3,5,8,16,32) e alcuni hanno bit non uniformi per componente pixel.
Il canale diventa l'array "virtuale" di un solo componente pixel. (Dico virtuale, perché c'è un passo tra ogni elemento, mentre gli array tradizionalmente non hanno tale passo)
Neanche la porzione RGB è fissa: potresti avere un'immagine in scala di grigio con o senza un canale alfa, puoi avere un'immagine CMYK (ciano magenta giallo, di solito in uno spazio cromatico sottrattivo), puoi avere un'immagine che ha un tutta una miriade di diversi canali di colore creati da un raytracer speculare o da uno strumento scientifico.
Mentre ho trattato i pixel come se fossero sempre contigui, è anche possibile suddividere i canali su più posizioni, in questo modo:
RRRRGGGGBBBBAAAA
RRRRGGGGBBBBAAAA
RRRRGGGGBBBBAAAA
RRRRGGGGBBBBAAAA
o anche
RRRR
RRRR
RRRR
RRRR
GGGG
GGGG
GGGG
GGGG
BBBB
BBBB
BBBB
BBBB
AAAA
AAAA
AAAA
AAAA
o avere RGB imballato e A memorizzato in un buffer separato.
Questo è raro nei dati live nei giochi, perché le moderne schede grafiche sono spesso progettate attorno ai pixel RGBA. RGB può essere gestito in modo uniforme e con A rapidi calcoli adiacenti possono essere eseguiti che consentono la composizione di un pixel RGBA su uno sfondo preverniciato.
Il canale alfa viene spesso utilizzato per informazioni sulla trasparenza. In modo fastidioso, il valore massimo di alfa è talvolta trattato come trasparente, e talvolta come opaco, da basi di codice diverse. Questo è di nuovo meno comune al giorno d'oggi. Il canale alfa è stato anche utilizzato per l'ordinamento del buffer z (quanto dista il pixel dal visualizzatore) per consentire il disegno non ordinato a una scena, e tradizionalmente la mappatura del mip è stata eseguita spostando l'immagine con risoluzione inferiore 2x 2x (o 4x in meno pixel) in il canale alfa dell'immagine ad alta risoluzione, ricorsivamente.
Anche in un sistema che utilizza pixel RGBA, il significato di questi pixel può non essere d'accordo. R misura quanto rosso vede un essere umano o quanti fotoni di rosso dovrebbero essere emessi? Questa è la differenza tra spazi di colore lineari e non lineari e influisce sul modo corretto di comporre detti pixel con un canale di trasparenza.