HSL to przyjazny sposób wybierania koloru, RGB to to, co faktycznie konsumują ekrany, API canvas i kod obrazów. Ten konwerter zamienia dowolne trio odcienia, nasycenia i jasności na dokładne kanały 0–255.
Jak działa konwersja z HSL na RGB
- Zamień S i L na ułamki i oblicz chromę C = (1 − |2L − 1|) × S.
- Podziel odcień przez 60, żeby znaleźć jego segment na kole barw i oblicz wartość pośrednią X = C × (1 − |(H/60 mod 2) − 1|).
- Przypisz C, X i 0 do miejsc R, G i B zgodnie z tym segmentem.
- Dodaj przesunięcie jasności L − C/2 do wszystkich trzech kanałów i pomnóż przez 255.
Przykład działania
Wynik jest dokładny aż do końcowego zaokrąglenia do pełnych kanałów. Ułamkowe wartości odcienia lub nasycenia są obsługiwane i trafiają po prostu na najbliższe trojki RGB.
Wyjaśnienie HSL i RGB
Czym jest HSL?
HSL dzieli kolor na odcień (0–360° na kole barw), nasycenie (jak intensywny, 0–100%) i jasność (jak jasny, 0–100%). Ponieważ każdy element odpowiada temu, jak ludzie opisują kolor, HSL jest najłatwiejszym formatem do tworzenia tonów, cieni i spójnych palet — ręcznie lub w kodzie.
- Składnia:
- hsl(H, S%, L%)
- Zakres:
- 0–360°, 0–100%, 0–100%
- Najlepsze do:
- palety, tony i cienie, theming
Czym jest RGB?
RGB opisuje kolor trzema kanałami światła — czerwonym, zielonym i niebieskim — każdy od 0 do 255. Odwzorowuje to działanie ekranów: wszystkie trzy na 255 dają biały, wszystkie na 0 — czarny. RGB to właściwy wybór, gdy musisz liczyć z kolorem, a rgba() dodaje przezroczystość.
- Składnia:
- rgb(R, G, B)
- Zakres:
- 0–255 na kanał
- Najlepsze do:
- kod, canvas, przezroczystość z rgba()
Tabela odniesienia z HSL na RGB
Najczęściej używane kolory CSS, skonwertowane z HSL na RGB.
| Kolor | 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) |