Палитры, спроектированные в HSL, часто попадают на бумагу. Этот конвертер берёт hue, saturation и lightness и возвращает четыре процентных значения чернил, с которыми работает типография.
Как работает конвертация HSL в CMYK
- Преобразуй HSL-тройку в RGB-каналы от 0 до 255.
- Нормализуй эти каналы, разделив их на 255.
- Вычисли ключевой компонент K = 1 − max(R, G, B).
- Выведи C, M и Y из оставшихся каналов и преобразуй все четыре в проценты.
Рабочий пример
Происходит две последовательные конвертации, поэтому округления встречаются дважды — и CMYK остаётся приближением без цветового профиля. Ожидай, что печатный результат будет чуть менее насыщенным, чем HSL-превью.
HSL и CMYK объяснено
Что такое HSL?
HSL разбивает цвет на hue (0–360° на цветовом круге), saturation (насколько цветной, 0–100%) и lightness (яркость, 0–100%). Поскольку каждая часть совпадает с тем, как люди описывают цвет, HSL — самый простой формат для создания оттенков, тональных вариаций и согласованных палитр вручную или в коде.
- Синтаксис:
- hsl(H, S%, L%)
- Диапазон:
- 0–360°, 0–100%, 0–100%
- Лучше всего для:
- палитры, оттенки и тона, темизация
Что такое CMYK?
CMYK — модель с четырьмя красками для печати: cyan, magenta, yellow и key (чёрный), каждая указана в процентах от 0 до 100. Краски вычитают свет, а не излучают его, поэтому CMYK охватывает меньше цветов, чем экран — поэтому яркие цвета с экрана часто выглядят тусклее в печати.
- Синтаксис:
- cmyk(C%, M%, Y%, K%)
- Диапазон:
- 0–100% на краску
- Лучше всего для:
- печать, упаковка, макеты для печати
Таблица соответствий HSL → CMYK
Наиболее распространённые цвета CSS, сконвертированные из HSL в CMYK.
| Цвет | HSL | CMYK |
|---|---|---|
| black | hsl(0, 0%, 0%) | cmyk(0%, 0%, 0%, 100%) |
| white | hsl(0, 0%, 100%) | cmyk(0%, 0%, 0%, 0%) |
| red | hsl(0, 100%, 50%) | cmyk(0%, 100%, 100%, 0%) |
| lime | hsl(120, 100%, 50%) | cmyk(100%, 0%, 100%, 0%) |
| blue | hsl(240, 100%, 50%) | cmyk(100%, 100%, 0%, 0%) |
| yellow | hsl(60, 100%, 50%) | cmyk(0%, 0%, 100%, 0%) |
| orange | hsl(39, 100%, 50%) | cmyk(0%, 35%, 100%, 0%) |
| teal | hsl(180, 100%, 25%) | cmyk(100%, 1%, 0%, 50%) |
| purple | hsl(300, 100%, 25%) | cmyk(0%, 100%, 1%, 50%) |
| gray | hsl(0, 0%, 50%) | cmyk(0%, 0%, 0%, 50%) |