Перенести друковану палітру в інтернет легше через HSL: коли твій мікс фарб виражений як hue, saturation і lightness, ти за секунди можеш побудувати hover-стани, тоні та відтінки.
Як працює конвертація CMYK у HSL
- Перетвори відсотки CMYK у RGB-канали від 0 до 255.
- Поділи канали на 255 і знайди їхній максимум та мінімум.
- Середнє між максимумом і мінімумом — це світлість L, а їхня різниця визначає насиченість S.
- Канал з максимумом визначає hue H у градусах на кольоровому колі.
Приклад роботи
Крок CMYK → RGB уже є наближенням, а значення HSL округлюються до цілих. Результат дуже близький, але не є керованим колірним перетворенням.
CMYK і HSL пояснено
Що таке CMYK?
CMYK — модель із чотирьох фарб, що використовується в друці: cyan, magenta, yellow і key (чорний), кожна як відсоток від 0 до 100. Фарба віднімає світло замість його випромінення, тому CMYK охоплює менше кольорів, ніж екран — отже яскраві екранівські кольори часто виглядають тьмянішими після друку.
- Синтаксис:
- cmyk(C%, M%, Y%, K%)
- Діапазон:
- 0–100% для кожної фарби
- Краще підходить для:
- друк, упаковка, підготовлені до друку макети
Що таке HSL?
HSL розбиває колір на відтінок (0–360° на колі), насиченість (наскільки яскравий/кольоровий, 0–100%) і світлість (наскільки світлий, 0–100%). Оскільки кожна частина відповідає тому, як люди описують колір, HSL — найзручніший формат для створення відтінків, тонів і узгоджених палітр — вручну або в коді.
- Синтаксис:
- hsl(H, S%, L%)
- Діапазон:
- 0–360°, 0–100%, 0–100%
- Краще підходить для:
- палітри, відтінки й тонування, теми
Таблиця відповідностей CMYK → HSL
Найпоширеніші CSS-кольори, конвертовані з CMYK у HSL.
| Колір | CMYK | HSL |
|---|---|---|
| black | cmyk(0%, 0%, 0%, 100%) | hsl(0, 0%, 0%) |
| white | cmyk(0%, 0%, 0%, 0%) | hsl(0, 0%, 100%) |
| red | cmyk(0%, 100%, 100%, 0%) | hsl(0, 100%, 50%) |
| lime | cmyk(100%, 0%, 100%, 0%) | hsl(120, 100%, 50%) |
| blue | cmyk(100%, 100%, 0%, 0%) | hsl(240, 100%, 50%) |
| yellow | cmyk(0%, 0%, 100%, 0%) | hsl(60, 100%, 50%) |
| orange | cmyk(0%, 35%, 100%, 0%) | hsl(39, 100%, 50%) |
| teal | cmyk(100%, 0%, 0%, 50%) | hsl(180, 100%, 25%) |
| purple | cmyk(0%, 100%, 0%, 50%) | hsl(300, 100%, 25%) |
| gray | cmyk(0%, 0%, 0%, 50%) | hsl(0, 0%, 50%) |