RGB — адитивний, він про світло; CMYK — субтрактивний, він про фарбу. Перетворення між ними — крок, який проходить будь-який дизайн з екрана перед тим, як його надрукують.
Як працює конвертація RGB у CMYK
- Нормалізуй канали: поділи R, G і B на 255.
- Візьми найбільший нормалізований канал і обчисли ключ K = 1 − max.
- Отримай cyan, magenta і yellow, прибравши частку чорного: C = (1 − R − K) / (1 − K), і так далі.
- Перетвori всі чотири значення у відсотки від 0 до 100.
Приклад роботи
Це математичне наближення без колірного профілю. Друкарні використовують ICC-профілі та обмеження по фарбі, тож ці числа — надійний орієнтир, але не готове для пресу розділення.
RGB і CMYK пояснено
Що таке RGB?
RGB описує колір трьома каналами світла — червоний, зелений і синій — кожен від 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%) |