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