HSL yra draugiškas būdas pasirinkti spalvą, o RGB yra tai, ką iš tiesų naudoja ekranai, canvas API ir vaizdų kodas. Šis konverteris paverčia bet kurią atspalvio, sodrumo ir šviesumo triadą į tikslias 0–255 skales.
Kaip veikia HSL į RGB konvertavimas
- Paversk S ir L į trupmenas ir apskaičiuok chromą C = (1 − |2L − 1|) × S.
- Padalink atspalvį iš 60, kad nustumet jo segmentą spalvų rate, ir apskaičiuok tarpinę reikšmę X = C × (1 − |(H/60 mod 2) − 1|).
- Priskirk C, X ir 0 R, G ir B pozicijoms pagal tą segmentą.
- Visiems trims kanalams pridėk šviesumo poslinkį L − C/2 ir padaugink iš 255.
Veikęs pavyzdys
Rezultatas yra tikslus iki paskutinio suapvalinimo iki sveikų kanalų. Palaikomos trupmeninės atspalvio arba sodrumo reikšmės — jos tiesiog suapvalinamos iki artimiausio RGB trio.
HSL ir RGB paaiškinta
Kas yra HSL?
HSL suskaido spalvą į atspalvį (0–360° spalvų rate), saturaciją (kiek ryški, 0–100%) ir šviesumą (kiek šviesi, 0–100%). Kadangi kiekviena dalis atitinka tai, kaip žmonės apibūdina spalvas, HSL yra lengviausias formatas kurti šviesesnes ar tamsesnes variacijas ir nuoseklias paletes — ranka arba kode.
- Sintaksė:
- hsl(H, S%, L%)
- Intervalas:
- 0–360°, 0–100%, 0–100%
- Tinka geriausiai:
- paletės, atspalviai ir tamsūs/nešviesūs variantai, temingas dizainas
Kas yra RGB?
RGB aprašo spalvą kaip tris šviesos kanalus — raudoną, žalią ir mėlyną — kiekvienas nuo 0 iki 255. Tai atspindi, kaip iš tikrųjų veikia ekranai: visi trys 255 reiškia baltą, visi 0 — juodą. RGB tinka, kai reikia skaičiuoti su spalva, o rgba() prideda permatomumą.
- Sintaksė:
- rgb(R, G, B)
- Intervalas:
- 0–255 per kanalą
- Tinka geriausiai:
- kodas, canvas, permatomumas su rgba()
HSL į RGB atnaujinimo lentelė
Dažniausiai sutinkamos CSS spalvos, konvertuotos iš HSL į RGB.
| Spalva | HSL | RGB |
|---|---|---|
| black | hsl(0, 0%, 0%) | rgb(0, 0, 0) |
| white | hsl(0, 0%, 100%) | rgb(255, 255, 255) |
| red | hsl(0, 100%, 50%) | rgb(255, 0, 0) |
| lime | hsl(120, 100%, 50%) | rgb(0, 255, 0) |
| blue | hsl(240, 100%, 50%) | rgb(0, 0, 255) |
| yellow | hsl(60, 100%, 50%) | rgb(255, 255, 0) |
| orange | hsl(39, 100%, 50%) | rgb(255, 166, 0) |
| teal | hsl(180, 100%, 25%) | rgb(0, 127, 128) |
| purple | hsl(300, 100%, 25%) | rgb(128, 0, 127) |
| gray | hsl(0, 0%, 50%) | rgb(128, 128, 128) |