Kurzerklärung
Es werden aus den drei Farbwerten für Rot, Grün, Blau und einem vierten Wert für die Transparenz die vier CMYK-Werte für Cyan, Magenta, Gelb und Schwarz ermittelt und in die folgende Schreibweise umgeformt: cmyk (Cyan%, Magenta%, Gelb%, Schwarz%).
Da hier eine transparente in eine nicht transparente Farbe umgerechnet wird, gibt es keine direkte tatsächliche Gewähr für eine Farbgleichheit. Wenn wir ein transparentes Rot umwandeln, besteht es aus 255 roten, 0 grünen, 0 blauen Anteilen und dem Wert 0.5 für 50%ige Transparenz. Die Hexadezimal-Schreibweise ist dann folgendermaßen: #FF00007F.
Diese Farbwerte werden in einen CMYK-Wert umgewandelt. Damit ergibt sich der Farbwert in CMYK-Schreibweise mit cmyk (0%, 50%, 50%, 0%).
Berechnungsbeispiel
Wir werden am Beispiel der Farbe maroon1 mit einer Transparenz von 7F eine Umrechnung von hex zu cmyk beschreiben.
Ausgangswert ist die Farbe im Hexadezimalcode:
Hex = #FF34B37F
Der Code wird auf die jeweiligen Farben Rot, Grün, Blau und Transparenz aufgeteilt:
Rot = FF
Grün = 34
Blau = B3
Transparenz = 7F
Diese Farbwerte müssen nun von Hexadezimal in das Dezimalsystem umgerechnet werden. Dazu muss man wissen, dass die Werte von Hexadezimalzahlen von 0 bis 9 für die Zahl 0 bis 9 stehen und danach die Buchstaben A oder a für 10, B oder b für 11, C oder c für 12, D oder d für 13, E oder e für 14 und F oder f für 15. Das bedeutet in unserem Beispiel, dass wir zu Beginn den Wert für Rot (FF) umwandeln müssen. Das rechte F steht für 15 und das linke F, was man mit F0 wiedergeben kann, berechnet man, indem man den Einzelwert für F (15) mit dem Systemwert (16) multipliziert. Demzufolge ist F0 im Dezimalsystem 240. Die Summe aus den beiden Teilwerten für FF ergibt den Dezimalwert 255. Beim Wert für die Transparenz gibt es eine Besonderheit. Hier wird in der RGBA-Schreibweise der Wert als Dezimalwert zwischen 0 und 1 angegeben, wobei 0 für vollständige Transparenz und 1 für Intransparenz steht. Dieser Wert ergibt sich, indem der berechnete Wert der Transparenz durch den Wert 255 geteilt und gerundet wird. Daraus ergeben sich die folgenden Berechnungen:
Rot = F0 + F
Rot = 15 * 16 + 15
Rot = 255
Grün = 30 + 4
Grün = 3 * 16 + 4
Grün = 52
Blau = B0 + 3
Blau = 11 * 16 + 3
Blau = 179
Transparenz = 70 + F ⇒ (7 * 16 + 15) / 255
Transparenz = 0.5
Diese Farbwerte müssen nun von dem Dezimalsystem in das CMYK-Farbsystem umgerechnet werden. Da die Farben nicht direkt zusammen passen, ist die Umrechnung nicht so einfach.
Die Farbwerte werden mit bestimmten Formeln ermittelt. Zunächst wird ein Zwischenwert der 3 Farben Cyan, Magenta und Gelb berechnet.
Cyan = (255 - Rot) / 255 * 100)
Magenta = (255 - Grün) / 255 * 100)
Gelb = (255 - Blau) / 255 * 100)
Danach wird der Schwarzwert aus den drei Werten mit folgender Formel berechnet.
Schwarz = min (Rot, Grün, Blau)
Um jetzt die richtigen Farbwerte zu erhalten, wird von den Farbzwischenwerten der Wert für Schwarz abgezogen.
Cyan = Cyan - Schwarz
Magenta = Magenta - Schwarz
Gelb = Gelb - Schwarz
Um die Transparenz der Basisfarbe zu simulieren, müssen alle Farbwerte mit dem Transparenzwert multipliziert werden.
Cyan = Cyan * Transparenz
Magenta = Magenta * Transparenz
Gelb = Gelb * Transparenz
Schwarz = Schwarz * Transparenz
Das bedeutet in unserem Beispiel, dass wir zu Beginn den Wert für Rot (255) umwandeln müssen. Dann rechnen wir den Wert für Grün (52) um. Als nächstes wird der Wert für Blau (179) umgerechnet. Danach ermitteln wir den Wert für Schwarz. Diesen Wert ziehen wir von den uns bekannten Farbwerten ab. Daraus ergeben sich dann die folgenden Berechnungen:
Cyan = (255 - 255) / 255 * 100
Cyan = 0
Magenta = (255 - 52) / 255 * 100
Magenta = 80
Gelb = (255 - 179) / 255 * 100
Gelb = 30
Schwarz = min(0, 80, 30)
Schwarz = 0
Cyan = 0 - 0 = 0
Magenta = 80 - 0 = 80
Gelb = 30 - 0 = 30
Cyan = 0 * 0.5 = 0
Magenta = 80 * 0.5 = 40
Gelb = 30 * 0.5 = 15
Schwarz = 0 * 0.5 = 0
Um das Ergebnis unserer Berechnung zu erhalten, müssen die berechneten Dezimalwerte nun in die CMYK-Schreibweise cmyk (Cyan%, Magenta%, Gelb%, Schwarz%) gebracht werden:
CMYK = cmyk (0%, 40%, 15%, 0%)