Як конвертувати RGB у CMYK?
Графічний дизайн, Веб-розробка ·RGB і CMYK — це дві основні колірні моделі, які використовуються для цифрових дисплеїв і друку відповідно. Якщо ви працюєте з дизайном або друком, вам може знадобитися конвертувати кольори з RGB у CMYK. Ми вже робили допис про те як конвертувати CMYK у RGB. Розглянемо зворотню конвертацію.
Що таке RGB і CMYK?
- RGB (Red, Green, Blue) — адитивна модель, яка використовується на екранах. Чим більше світла додається, тим яскравіші кольори.
- CMYK (Cyan, Magenta, Yellow, Black) — субтрактивна модель, яка використовується в друкарнях. Чим більше фарби додається, тим темніший колір виходить.
Формула для конвертації RGB → CMYK
Щоб перевести RGB у CMYK, використовуйте таку формулу:
- Визначте значення кольорів у діапазоні від 0 до 1 (поділіть значення RGB на 255).
-
Обчисліть значення K:
K = 1 - max(R, G, B)
-
Обчисліть значення C, M, Y:
C = (1 - R - K) / (1 - K) M = (1 - G - K) / (1 - K) Y = (1 - B - K) / (1 - K)
(Якщо K = 1, то C = M = Y = 0.)
Приклад коду на JavaScript
function rgbToCmyk(r, g, b) {
let rNorm = r / 255, gNorm = g / 255, bNorm = b / 255;
let k = 1 - Math.max(rNorm, gNorm, bNorm);
let c = (1 - rNorm - k) / (1 - k) || 0;
let m = (1 - gNorm - k) / (1 - k) || 0;
let y = (1 - bNorm - k) / (1 - k) || 0;
return `cmyk(${(c * 100).toFixed(1)}%, ${(m * 100).toFixed(1)}%, ${(y * 100).toFixed(1)}%, ${(k * 100).toFixed(1)}%)`;
}
Ця функція приймає значення RGB у діапазоні від 0 до 255 та повертає відповідні значення CMYK у відсотках.