RGB kertoo näytölle, kuinka paljon valoa kipinöidä; HSL kertoo, miltä väri näyttää. Kolmen kanavan muuntaminen sävyksi, kylläisyydeksi ja vaaleudeksi tekee värin käsin säätämisestä helppoa.
Kuinka RGB→HSL muunnos toimii
- Jaa R, G ja B 255:llä, jotta kukin arvo on 0–1-välillä.
- Ota kolmen arvon maksimi ja minimi — niiden keskiarvo on vaaleus L.
- Jos maksimi ja minimi ovat yhtä suuret, väri on harmaa: sävy ja kylläisyys ovat molemmat 0.
- Muussa tapauksessa johda S erotuksesta maksimin ja minimin välillä ja lue H siitä kanavasta, joka on maksimi.
Esimerkkilaskelma
Periaatteessa tarkka. Koska H, S ja L yleensä näytetään pyöristettyinä kokonaisina arvoina, takaisinmuunnos voi siirtää kanavaa yhdellä tai parilla askeleella.
RGB ja HSL selitettynä
Mikä on RGB?
RGB kuvaa väriä kolmella valokanavalla — red, green ja blue — kukin 0–255. Se peilaa sitä, miten näytöt toimivat: kaikki kanavat 255 antavat valkoisen, kaikki 0 mustan. RGB on oikea valinta, kun sinun täytyy laskea väreillä, ja rgba() lisää läpinäkyvyyden päälle.
- Syntaksi:
- rgb(R, G, B)
- Arvoalue:
- 0–255 per kanava
- Parhaiten soveltuu:
- koodi, canvas, läpinäkyvyys rgba():lla
Mikä on HSL?
HSL jakaa värin sävyyn (0–360° väripyörällä), kylläisyyteen (kuinka värikäs, 0–100%) ja vaaleuteen (kuinka kirkas, 0–100%). Koska kukin osa vastaa tapaa, jolla ihmiset kuvaavat väriä, HSL on helpoin formaatti sävyjen, tummennosten ja yhtenäisten palettien rakentamiseen — käsin tai koodissa.
- Syntaksi:
- hsl(H, S%, L%)
- Arvoalue:
- 0–360°, 0–100%, 0–100%
- Parhaiten soveltuu:
- paletit, sävyt ja tummennokset, teemoittaminen
RGB → HSL viitetaulukko
Yleisimmät CSS-värit, muunnettu muodosta RGB muotoon HSL.
| Väri | 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%) |