Aquest article o secció necessita millorar una traducció deficient. els noms del colors Podeu col·laborar-hi si coneixeu prou la llengua d'origen. Comproveu en la pàgina de discussió si ja s'ha comentat aquest problema. En cas contrari podeu iniciar un fil de discussió per consultar com es pot millorar. Elimineu aquest avís si creieu que està solucionat sense objeccions en la discussió.
En aquest article es descriuen els fonaments del sistema de colorsRGB amb vista a fer-los servir en les pàgines HTML.
Fonament teòric
La paleta de colors RGB (inicials de red, green, blue en anglès), que en altres idiomes s'anomena RVB (rouge, vert, bleu en francès), RVA (rojo, verde, azul en castellà), etc., consta, bàsicament, de tres colors primaris additius: Vermell-Verd-Blau. Aquests colors primaris additius, en HTML, estan representats per tres parells hexadecimals del tipus 0xHH-HH-HH segons el següent format:
#RRGGBB (= #RRVVAA)
Els valors que pot adoptar cada un dels tres parells hexadecimals van del 0x00 (0 decimal) al 0xFF (255 decimal).
Com més gran sigui el valor del parell, més gran serà també la intensitat matís, lluminositat o claredat) del color corresponent a aquest parell (i viceversa).
Això implica que l'extrem inferior de l'escala cromàtica parteix d'una intensitat (grau) de color mínima (nul = parell 0x00), passa per una intensitat de color mitjana (mitjà = parell 0x80 [128 decimal]) fins a arribar a una intensitat de color màxima (saturat = par 0xFF).
El grau de més alta puresa (absolut) d'un color primari additiu estarà determinat per la presència total d'aquest (saturació = 0xFF) juntament amb l'absència total (nul·litat = 0x00) dels altres dos colors primaris additius.
A més d'aquests tres colors primaris additius (RGB), hi ha tres colors primaris sostractius o CMY: Cian-Magenta-Groc. Aquests colors sorgeixen de la següent combinació (mescla) dels primaris additius:
Cian = Verd + Blau
Magenta = Vermell + Blau
Groc = Vermell + Verd
Pel que fa al seu grau de puresa, passa el contrari dels colors primaris additius, ja que el grau absolut el determina la nul·litat d'un dels seus components i la saturació dels altres dos.
Els colors complementaris dels primaris, tant additius com sostractius, seran recíprocament:
Vermell ↔ Cian
Verd ↔ Magenta
Blau ↔ Groc
La combinació simultània dels tres primaris additius saturats produeix el blanc (0xFFFFFF). Contràriament, la combinació simultània dels tres primaris sostractius nuls produeix el negre (0x000000).
Resulta clar també que la combinació de dos colors mútuament complementaris produirà el blanc, igual que la sostracció (absorció) de tots dos produirà el negre (absència total de color). Així, v. gr., el vermell (0xFF0000) més el seu complemetari que és el cian (0x00FFFF), generen el blanc (0xFFFFFF). De fet, el cian no és altra cosa que la sostracció del vermell al blanc. Observeu els següents gràfics:
Per la seva part, el gris mitjà (0x808080), que és el terme mitjà exacte entre el negre i el blanc, s'obtindrà a partir de la combinació simultània dels tres primaris additius mitjans. Anàlogament, el gris semi-saturat (clar) s'obtindrà a partir de la combinació 0xC0C0C0, mentre que el gris semi-nul (fosc) mitjançant 0x404040.
D'aquesta manera, tenim que la resta dels colors, que estan compresos entre el negre (0x000000) i el blanc (0xFFFFFF), sorgeixen de la combinació dels tres primaris additius en diversos graus. En altres paraules: n'hi haurà prou a reemplaçar cada un dels parells 0xHH-HH-HH per un valor comprès entre 0x00 i 0xFF per obtenir qualsevol dels colors possibles.
Encara en la pràctica, pot haver-hi algunes combinacions que no siguin vàlides. Això passava fa temps, quan la paleta de colors més grossa tenia 256 colors. Per això, hi ha 216 colors reservats (uns altres 40 per al sistema), dels quals alguns es mostren aquí.
Els bytes representen els percentatges dels colors vermell, verd i blau (RGB). Cadascun utilitza una franja de 00h a FFh (Notació hexadecimal) o de 0 a 255 en notació decimal. El triplet hexadecimal és format per la concatenació de tres bytes en hexadecimal:
Byte 1: valor de vermell
Byte 2: valor de verd
Byte 3: valor de blau
Per exemple, considerem el color en què els valors vermell/verd/blau són nombres decimals: vermell=36, verd=104, blau=160 (un color grisós-blau). Els nombres decimals 36, 104 i 160 són 24, 68 i A0 respectivament en notació hexadecimal. Per obtenir el triplet hex, senzillament escrivim els tres bytes hex junts sense espais, així: 2468A0. Si un byte és menor que 16 (decimal) o 10 (hex) s'ha de representar amb un zero per mantenir el nombre de dígits en el triplet igual a sis. Per exemple, el triplet decimal 0,1,2 es representaria amb el triplet hex 000102.
El nombre de colors que es pot representar en aquest sistema és
Taula simplificada de colors
El que hem vist fins aquí ens permet obtenir la següent taula de colors amb els seus respectius valors hexadecimals:
Primaris additius saturats (absoluts)
VERMELL = FF0000
VERD = 00FF00
BLAU = 0000FF
Combinació dels tres primaris additius saturats (absoluts).
BLANC = FFFFFF
Primaris sostractius nuls (absoluts)
CIAN = 0x00FFFF
MAGENTA = 0xFF00FF
GROC = 0xFFFF00
Combinació dels tres primaris sostractius nuls (absoluts)