Результат
У этой страницы вообще нет серверной части. Вставленная таблица разбирается кодом JavaScript внутри вашего же браузера, график рисуется на элементе canvas на вашей машине, файл экспорта собирается локально. Ничего не загружается, не хранится и не пишется ни в какие логи. После загрузки страницы можно отключить сеть — всё продолжит работать, и это самый простой способ проверить обещание самостоятельно.
Факты и границы применимости
| Формула красного | R = 255 × (1 − C/100) × (1 − K/100) |
|---|---|
| Формула зелёного | G = 255 × (1 − M/100) × (1 − K/100) |
| Диапазон входа | C, M, Y, K от 0% до 100% |
| Диапазон выхода | R, G, B от 0 до 255 |
Когда этот метод вводит в заблуждение
- Это математическое приближение, а не результат настоящего цветового профиля конкретного принтера — реальный отпечаток может выглядеть иначе из-за красок, бумаги и оборудования.
- CMYK — субтрактивная модель для печати, RGB — аддитивная для экрана; при переводе всегда есть некоторая потеря точности и расхождение с тем, как цвет будет восприниматься на бумаге.
- Формула предполагает простейшую схему смешения красок без учёта профилей ICC — для критичных по цвету печатных задач используйте специализированное ПО.
- Округление процентов и байтовых значений RGB может немного сдвигать итоговый оттенок при многократном переводе туда и обратно.
Как это считается
Проценты C, M, Y и K переводятся в доли от 0 до 1 делением на 100.
Для каждого из каналов R, G, B вычисляется произведение (1 − цветовая доля) × (1 − доля чёрного), которое показывает, сколько света остаётся неперекрытым красками.
Результат умножается на 255 и округляется до целого — так получаются стандартные 8-битные значения R, G, B.
Из чисел R, G, B дополнительно собирается HEX-код и текстовая строка rgb(...) для удобного использования в CSS.
Вопросы и ответы
Почему цвет на экране не совпадает с тем, что получится на печати?
Экран показывает свет (RGB), а бумага — отражённый свет после нанесения красок (CMYK); для точного соответствия нужен профиль конкретного принтера и бумаги.
Можно ли использовать результат как окончательный цвет для дизайна?
Да, как ориентир для интерфейсов и цифровых макетов — он достаточно точен для большинства повседневных задач.
Почему при обратном переводе RGB→CMYK→RGB числа немного отличаются?
Из-за округления процентов CMYK и байтовых значений RGB на каждом шаге накапливается небольшая погрешность.
Мои данные куда-то отправляются?
Нет, весь расчёт выполняется в вашем браузере.