RGB — аддитивный и состоит из света, CMYK — субтрактивный и состоит из чернил. Конвертация между ними — шаг, который любая экранная верстка проходит перед печатью.
Как работает конвертация RGB в CMYK
- Нормализуй каналы: раздели R, G и B на 255.
- Возьми наибольший нормализованный канал и вычисли ключ K = 1 − max.
- Выведи cyan, magenta и yellow, убрав долю чёрного: C = (1 − R − K) / (1 − K) и так далее.
- Преобразуй все четыре значения в проценты от 0 до 100.
Рабочий пример
Это математическое приближение без цветового профиля. Типографии используют ICC-профили и ограничения по чернилам, так что эти числа — надёжная справка, но не готовая к печати сепарация.
RGB и CMYK объяснено
Что такое RGB?
RGB описывает цвет как три световых канала — red, green и blue — каждый от 0 до 255. Это отражает работу экранов: все три на 255 дают белый, все на 0 — чёрный. RGB подходит, когда нужно вычислять с цветом, а rgba() добавляет прозрачность.
- Синтаксис:
- rgb(R, G, B)
- Диапазон:
- 0–255 на канал
- Лучше всего для:
- код, canvas, прозрачность через rgba()
Что такое CMYK?
CMYK — модель с четырьмя красками для печати: cyan, magenta, yellow и key (чёрный), каждая указана в процентах от 0 до 100. Краски вычитают свет, а не излучают его, поэтому CMYK охватывает меньше цветов, чем экран — поэтому яркие цвета с экрана часто выглядят тусклее в печати.
- Синтаксис:
- cmyk(C%, M%, Y%, K%)
- Диапазон:
- 0–100% на краску
- Лучше всего для:
- печать, упаковка, макеты для печати
Таблица соответствий RGB → CMYK
Наиболее распространённые цвета CSS, сконвертированные из RGB в CMYK.
| Цвет | RGB | CMYK |
|---|---|---|
| black | rgb(0, 0, 0) | cmyk(0%, 0%, 0%, 100%) |
| white | rgb(255, 255, 255) | cmyk(0%, 0%, 0%, 0%) |
| red | rgb(255, 0, 0) | cmyk(0%, 100%, 100%, 0%) |
| lime | rgb(0, 255, 0) | cmyk(100%, 0%, 100%, 0%) |
| blue | rgb(0, 0, 255) | cmyk(100%, 100%, 0%, 0%) |
| yellow | rgb(255, 255, 0) | cmyk(0%, 0%, 100%, 0%) |
| orange | rgb(255, 165, 0) | cmyk(0%, 35%, 100%, 0%) |
| teal | rgb(0, 128, 128) | cmyk(100%, 0%, 0%, 50%) |
| purple | rgb(128, 0, 128) | cmyk(0%, 100%, 0%, 50%) |
| gray | rgb(128, 128, 128) | cmyk(0%, 0%, 0%, 50%) |