Mae HSL yn ffordd gyfeillgar o ddewis lliw, tra bod RGB yw’r hyn mae sgriniau, APIs canvas a chod delwedd yn ei ddefnyddio mewn gwirionedd. Mae’r trosi hwn yn troi unrhyw dri o hue, saturation a lightness yn sianeli union 0–255.
Sut mae trosi HSL i RGB yn gweithio
- Trosi S a L i rifau rhannol a chyfrifo’r chroma C = (1 − |2L − 1|) × S.
- Rhoi’r hue mewn rhannau drwy ei rannu â 60 i ganfod ei segment ar olwyn y lliw a chyfrifo’r gwerth canolol X = C × (1 − |(H/60 mod 2) − 1|).
- Dyrannu C, X a 0 i’r slotiau R, G a B yn ôl y segment hynny.
- Ychwanegu’r offset golau L − C/2 at y tri sianel a lluosi gydag 255.
Enghraifft wedi gweithio
Mae’r canlyniad yn union hyd at y rhifyngrafiad terfynol i sianeli cyfan. Cefnogir gwerthoedd hue neu saturation rhannol ac maent yn disgyn ar y driple RGB agosaf.
HSL a RGB wedi'u hamlygu
Beth yw HSL?
Mae HSL yn rhannu lliw yn hue (0–360° ar olwyn lliw), saturation (pa mor lliwgar, 0–100%) a lightness (pa mor ddisglair, 0–100%). Gan fod pob rhan yn cyfateb i'r ffordd mae pobl yn disgrifio lliw, mae HSL yn y fformat hawsaf ar gyfer creu tints, shades a phaletau cyson — â llaw neu mewn cod.
- Sintacs:
- hsl(H, S%, L%)
- Amrediad:
- 0–360°, 0–100%, 0–100%
- Gorau ar gyfer:
- paletau, tints a shades, theming
Beth yw RGB?
Mae RGB yn disgrifio lliw fel tri sianel o olau — coch, gwyrdd a glas — pob un rhwng 0 a 255. Mae'n adlewyrchu sut mae sgriniau'n gweithio mewn gwirionedd: pob un ar 255 yn rhoi gwyn, pob un ar 0 yn rhoi du. Mae RGB yn ddewis cywir pan fydd angen i ti gyfrifo gyda lliw, ac mae rgba() yn ychwanegu tryloywder uwchben.
- Sintacs:
- rgb(R, G, B)
- Amrediad:
- 0–255 fesul sianel
- Gorau ar gyfer:
- cod, canvas, tryloywder gyda rgba()
tabl cyfeirnod HSL i RGB
Y lliwiau CSS mwyaf cyffredin, wedi'u trosi o HSL i RGB.
| Lliw | 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) |