RGB i CMYK to dwa podstawowe modele kolorów, które są używane odpowiednio do wyświetlaczy cyfrowych i druku. Jeśli pracujesz z projektowaniem lub drukiem, może być konieczne konwertowanie kolorów z RGB na CMYK. Już pisaliśmy o tym jak konwertować CMYK na RGB. Rozważmy odwrotną konwersję.
Co to jest RGB i CMYK?
- RGB (Czerwony, Zielony, Niebieski) — model addytywny, który jest używany na ekranach. Im więcej światła dodajesz, tym jaśniejsze kolory.
- CMYK (Cyjan, Magenta, Żółty, Czarny) — model subtraktywny, który jest używany w drukarkach. Im więcej farby dodajesz, tym ciemniejszy kolor otrzymujesz.
Formuła do konwersji RGB → CMYK
Aby przekształcić RGB na CMYK, użyj następującej formuły:
- Określ wartości kolorów w zakresie od 0 do 1 (podziel wartości RGB przez 255).
-
Oblicz wartość K:
K = 1 - max(R, G, B) -
Oblicz wartości C, M, Y:
C = (1 - R - K) / (1 - K) M = (1 - G - K) / (1 - K) Y = (1 - B - K) / (1 - K)(Jeśli K = 1, to C = M = Y = 0.)
Przykład kodu w 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)}%)`;
}
Ta funkcja przyjmuje wartości RGB w zakresie od 0 do 255 i zwraca odpowiednie wartości CMYK w procentach.