RGB povie obrazovke, koľko svetla má vyžarovať; HSL popisuje, ako farba skutočne vyzerá. Prevod troch kanálov na odtieň, sytosť a svetlosť robí farbu ľahko upraviteľnou ručne.
Ako funguje konverzia z RGB na HSL
- Vydel R, G a B 255, aby každá hodnota ležala medzi 0 a 1.
- Vezmi maximum a minimum z trojice — ich priemer je svetlosť L.
- Ak sú maximum a minimum rovnaké, farba je šedá: odtieň aj sytosť sú 0.
- Inak odvod S zo spreadu medzi max a min a H prečítaj z kanála, ktorý je maximum.
Príklad
V princípe presné. Keďže H, S a L sa zvyčajne zobrazujú zaokrúhlené na celé čísla, spätná konverzia môže posunúť niektorý kanál o jeden či dva kroky.
RGB a HSL vysvetlené
Čo je RGB?
RGB popisuje farbu troma kanálmi svetla — červená, zelená a modrá — každý v rozsahu 0 až 255. Odráža to, ako obrazovky skutočne fungujú: všetky tri na 255 dávajú bielu, všetky na 0 dávajú čiernu. RGB je správna voľba vždy, keď potrebuješ s farbou počítať, a rgba() pridáva priehľadnosť navrch.
- Syntax:
- rgb(R, G, B)
- Rozsah:
- 0–255 na kanál
- Najvhodnejšie pre:
- kód, canvas, priehľadnosť s rgba()
Čo je HSL?
HSL rozdeľuje farbu na odtieň (hue, 0–360° na farebnom kruhu), sýtosť (saturation, ako farebná, 0–100%) a svetlosť (lightness, ako jasná, 0–100%). Keďže každá časť zodpovedá tomu, ako ľudia opisujú farby, HSL je najjednoduchší formát na tvorbu odtieňov, tmavších alebo svetlejších variácií a konzistentných paliet — ručne alebo v kóde.
- Syntax:
- hsl(H, S%, L%)
- Rozsah:
- 0–360°, 0–100%, 0–100%
- Najvhodnejšie pre:
- palety, odtiene a tiene, theming
Referenčná tabuľka RGB → HSL
Najbežnejšie CSS farby prevedené z RGB na HSL.
| Farba | RGB | HSL |
|---|---|---|
| black | rgb(0, 0, 0) | hsl(0, 0%, 0%) |
| white | rgb(255, 255, 255) | hsl(0, 0%, 100%) |
| red | rgb(255, 0, 0) | hsl(0, 100%, 50%) |
| lime | rgb(0, 255, 0) | hsl(120, 100%, 50%) |
| blue | rgb(0, 0, 255) | hsl(240, 100%, 50%) |
| yellow | rgb(255, 255, 0) | hsl(60, 100%, 50%) |
| orange | rgb(255, 165, 0) | hsl(39, 100%, 50%) |
| teal | rgb(0, 128, 128) | hsl(180, 100%, 25%) |
| purple | rgb(128, 0, 128) | hsl(300, 100%, 25%) |
| gray | rgb(128, 128, 128) | hsl(0, 0%, 50%) |