Cum creează computerul culorile: RGB, HEX și sistemul binar
#FF0000. #00FF00. #0000FF. Probabil ați întâlnit această notație în fișiere de design sau în cod. Poate părea un cifru sau un cod de joc. De fapt, este numele unei culori.
De sus în jos: roșu, verde, albastru. Acestea sunt numele pe care computerul le folosește pentru culori. Să explicăm de unde vine această notație.
RGB — Trei litere care creează culoarea
Red, Green, Blue. Cele trei culori primare ale luminii. Prin amestecarea lor în proporții diferite se obțin toate culorile pe care le vedem.
Vedem RGB în fiecare zi
Aproape oriunde există un ecran, există și RGB.
- Monitor / TV — un pixel este format din trei puncte: roșu, verde și albastru
- Ecranul telefonului — aceeași structură, pixeli mai mici
- LED-uri tastatură gaming — trei LED-uri R·G·B per tastă
- Iluminare carcasă PC — banda RGB transmite semnale RGB
Dacă măriți suficient un ecran, veți vedea. Roșu, verde, albastru. Atât. Milioane de puncte mici RGB formează imaginea pe care o vedem.
Culorile se obțin prin amestecare
Fiecare canal RGB are o intensitate de la 0 la 255.
RGB(255, 0, 0)— doar roșu la maxim → roșu purRGB(0, 255, 0)— doar verde la maxim → verde purRGB(255, 255, 0)— roșu + verde → galbenRGB(0, 0, 0)— totul stins → negruRGB(255, 255, 255)— totul la maxim → alb
Faptul că roșu și verde amestecate dau galben poate părea contraintuitiv, dar aceasta este sinteza aditivă a luminii. Este diferit de amestecul vopselelor învățat la ore de artă (roșu + verde = maro). Cu lumina, cu cât adăugați mai mult, cu atât devine mai deschis, iar la maxim obțineți alb.
Mutați cele trei glisoare pentru a experimenta direct.
Numărul de 8 cifre din dreapta reprezintă reprezentarea binară a acelui canal. Când mutați glisorul, acest număr se schimbă și el. Urmează explicarea modului în care 0 și 1 pot produce 256 de valori.
De ce exact de la 0 la 255?
Computerul lucrează doar cu 0 și 1. O singură poziție care conține 0 sau 1 se numește bit. Cu cât adăugați mai mulți biți, cu atât numărul de valori reprezentabile se dublează.
8 biți = 1 octet (byte). O culoare are trei canale RGB, deci în total 3 octeți = 24 de biți. 24 de biți pot reprezenta aproximativ 16,7 milioane de culori. Aceasta este o rezoluție suficientă pentru ochiul uman, motiv pentru care 1 octet a devenit standardul pentru un canal.
Citirea binară pas cu pas
Fiecare poziție are o valoare fixă. De la stânga la dreapta: 128, 64, 32, 16, 8, 4, 2, 1 — puteri ale lui 2.
Adunați valorile pozițiilor marcate cu 1 și obțineți numărul în baza 10.
De aceea valoarea maximă a 8 biților este 255. Acesta este motivul exact pentru care intervalul unui canal RGB este 0–255.
HEX — Aceleași numere, mai scurt
RGB(255, 255, 255). Aceasta are 16 caractere. Este prea lung pentru fiecare linie de CSS sau câmp dintr-un instrument de design. De aceea a apărut o modalitate de a scrie aceleași numere mai scurt.
Ce este sistemul hexazecimal?
Sistemul hexazecimal exprimă valori de la 0 la 15 cu un singur caracter. Dar cifrele obișnuite sunt de la 0 la 9 — adică 10. Cele 6 care lipsesc sunt împrumutate din alfabet.
Regulile sunt trei:
- 0–9 rămân ca de obicei
- De la 10 începe A
- F este valoarea maximă a unui singur caracter (= 15)
De ce tocmai baza 16?
4 cifre binare (0000 ~ 1111) pot reprezenta exact 16 valori.
4 cifre binare = un caracter hexazecimal. Patru caractere devin unul singur. Deoarece un canal RGB are 8 biți, rezultatul este exact două caractere hexazecimale.
Cum se convertește RGB în HEX
Să convertim RGB(255, 87, 51).
Notația de 14 caractere devine 7 caractere.
Cum să ghiciți culoarea dintr-un cod HEX
Privind HEX în sens invers, puteți intui culoarea.
#FF5733— R maxim (FF), G mediu (57), B scăzut (33) → portocaliu cu roșu dominant#3576E0— R scăzut (35), G mediu (76), B intens (E0) → albastru cu o ușoară nuanță violetă#29A85A— R scăzut (29), G intens (A8), B scăzut (5A) → verde proaspăt
Dacă puteți distinge din cele trei segmente dacă este “portocaliu sau albastru”, designerii și dezvoltatorii pot comunica în același limbaj.
Rezumat în câteva cuvinte
- RGB — trei canale: roșu, verde, albastru, fiecare de la 0 la 255
- 8 biți binari — de unde vin cele 256 de valori ale unui canal
- HEX — o notație care scurtează aceleași numere la două caractere
Odată ce conectați aceste trei concepte, codurile de culoare nu mai par o limbă extraterestră. Cele trei numere din RGB sunt exact cele șase caractere din HEX.
Pasul următor este transformarea acestor numere în limbajul designerului. Cereri precum „puțin mai deschis”, „mai puțin saturat” sau „același pe hârtie” sunt greu de gestionat doar cu RGB și HEX. Cum rezolvă HSL, CMYK și OKLCH această problemă continuă în RGB nu este suficient: notațiile de culoare HSL, CMYK și OKLCH.