Ich werde RGB-Farbe zum Drucken in CMYK umwandeln.
Maßstab dieser Konvertierung ist Adobe Photoshop ( Image -> Mode -> CMYK color )
Ich habe versucht 2 Lösung, aber keiner von ihnen gibt den richtigen Wert zurück:
Zuerst folgte ich diesen Schritten
Laden Sie ICC-Profile (Windows-Version) von Adobe herunter
> Konvertiere die #color
zu CMYK
verwendet System.Windows.Media.Color.FromValues // return Color
MSDN
string convretedColor = string.Format("#{0:X2}{1:X2}{2:X2}", _color.R, _color.G, _color.B)
Hier ist das Ergebnis:
Profil: CoatedFOGRA27.icc
Originalfarbe: #2f00ff
Konvertierte Farbe: #3b4996
Ergebnis der Konvertierung Mit Adobe Photoshop (gleiches Profil): #3b4996
nicht einmal in der Nähe!
Ich probierte auch die Codo-Lösung mit derselben Prozedur
ausHier ist das Ergebnis:
Profil: CoatedFOGRA27.icc
Originalfarbe: #2f00ff
Konvertierte Farbe: #2032FF
Photoshop: #3b4996
Nach Codos Kommentaren denke ich, ich habe einige grundsätzliche Probleme, das Farbkonzept zu verstehen !! (Bitte korrigieren Sie mich, wenn ich falsch liege)
Für jede Farbe haben wir verschiedene Farbmodelle, RGB
, CMYK
, ...
RGB
zeigt die Kombination von (Rot Grün Blau) zur Erzeugung von Farbe und CMYK (Cyan Magenta Gelb *). Die Werte dieser Modelle können leicht zueinander konvertiert werden.
RGB HEX: #2F00FF
RGB: 47 - 0 - 255
CMYK: 0,816 - 1,000 - 0,000 - 0,000
Fast alle Monitore verwenden RGB
, um die Farben anzuzeigen. Die gedruckte Farbe (wegen der Verwendung von Tinte anstelle von LED o ...) ist völlig anders als die Farbe, die Sie auf Monitor /
Bildbearbeitungsprogramme wie Photoshop verwenden für dieses Problem CMYK **MODE**
. Wenn Sie in diesem Modus die Farbe RGB
auswählen, konvertiert der Editor sie in die Farbe, die Sie nach dem Drucken sehen und zeigt diese an. Diese Konvertierung ist absolut abhängig von Farbprofilen (hier ICC)
Lassen Sie mich versuchen, Ihnen zu helfen, alles zu sortieren:
1) RGB ist ein Format zur Beschreibung eines Farbwerts. d. h .: 255,0,0 für Rot.
2) HSV ist ein anderes Format, um einen Farbwert zu beschreiben. d. h .: 0,100,100 für rot
Diese beiden sind die einzigen, die Ihnen die digital genaue Farbe geben, Sie können sich diese als digitale Repräsentation der Farbe vorstellen oder es ist echte DNA und dank Gott ist der Monitor in der Lage, sie darzustellen - genau für das, was sie sind.
Gehen wir weiter:
3) Lab ist ein anderes Format, um einen Farbwert zu beschreiben.
54,81,70 für rotes RGB, das ist (255,0,0) jedoch ..
54,81,70 kann auch auf einen anderen RGB angewendet werden. (254,0,0)
warum ist das? weil das Lab-Format dazu dient, die menschliche Sehkraft zu approximieren.
und für das menschliche Auge gibt es keinen Unterschied zwischen (255,0,0) und (254,0,0)
gut .. nicht wirklich genau das zu sagen, dass für das menschliche Auge ..
genauer gesagt, das Modell, das verwendet wird, um die Lab-Farbe zu erhalten, die beabsichtigt, ..
4) CYMK soll dem Drucker mitteilen, welche Mischung aus Cyan, Gelb und Magenta auf das Papier und K (Taste oder Schwarz) drücken soll, wie viel Dunkel in diese Mischung eingedrückt werden soll.
Also 0%, 100%, 100%, 0% geben uns die Mischung für rot ..
und 0%, 50%, 50%, 0% geben uns rosa.
Gehen wir weiter:
Sie müssen das RGB, das auf dem Monitor angezeigt wird, auf den CMYK-Wert des Druckers einstellen.
Gott weiß, warum Sie das tun wollen, wenn es seit Jahren vollautomatisch ist und vom Fahrer gehandhabt wird.
Aber ich nehme an, du hast deine Gründe, also lass uns weitermachen
Jeder Drucker hat etwas andere CMYK-Werte, die gemischt werden müssen, um zu diesem bestimmten Rot zu gelangen.
Und hier kommen ICC-Profile zum Einsatz.
Sie geben einen Standard für RED im Beispiel, indem sie eine Tabelle für (1) das ursprüngliche RGB-RED bereitstellen
und (2) das CMYK-Rot in einem bestimmten Drucker.
Die Konvertierung von RGB (Rot) nach CMYK (Rot) entsprechend einem ICC-Profil ist logisch zu wünschen.
Aber wenn Sie versuchen, zurück zu konvertieren - Sie werden feststellen, dass der CMYK für RED nach einem bestimmten Profil mehrere digitale ROT-Werte haben kann.
Dies liegt daran, dass die digitale Farbauflösung viel genauer ist als das, was herauskommt Ein gedrucktes Papier, eine andere Möglichkeit, es zu betrachten, ist zu sagen, dass ein bestimmter Drucker ICC auf Lab gebaut worden sein könnte.
Jetzt weiß ich .. Ich weiß .. Sie wussten wahrscheinlich schon die meisten, wenn nicht alle davon.
(Ich schrieb es nur um sicher zu sein, dass wir beide auf der gleichen Seite im Buch sind.)
Also, wenn du sagst "keiner von ihnen gibt den richtigen Wert zurück" (Angenommen sie = die Konvertierungen) was genau meinst du ?! Alles scheint mir richtig zu sein, denn tatsächlich geben sie den richtigen Wert zurück - zu Druckzwecken.
Wie ich die Theorie sehe ...
Die Farbskala von CMYK selbst ist etwas kleiner als RGB, so dass der Unterschied nach der Konvertierung von RGB- & gt; CMYK leicht sichtbar ist. Um diesen Unterschied zu kompensieren, werden Farbprofile verwendet. Farbprofil im Inneren ist eigentlich eine Reihe von Farbtransformationen, die es erlaubt, den Gamut zu vergrößern. In diesem Fall ist die Bildquelle nur eine Quelle für diese Transformationen.
CMYK wird fast immer mit Farbprofilen verwendet (ich meine korrekte Anwendungsfälle), da sonst der Farbverlust erheblich ist.
Konvertieren Sie in Photoshop hier: Bearbeiten - & gt; In Profil konvertieren Der Hauptunterschied von Ihrem Weg - Sie können Ziel CMYK-Profil und Farbmanagement-Engine einschließlich Microsoft ICM wählen, die Ihnen unterschiedliche Ergebnisse liefern könnte.
Hier ist ein guter Artikel über CMYK: Ссылка
Zum Programmieren ...
Vielleicht ist es einfacher, ein spezielles SDK für die Bildverarbeitung zu verwenden. Farbmanagement ist ein grundlegendes Merkmal von jedem von ihnen und sollte sogar kostenlos verfügbar sein.
Wenn Sie abschätzen müssen, wie Ihre RGB-Farbe tatsächlich gedruckt wird, müssen Sie die Funktion "Softproof" verwenden. Dies ist RGB - & gt; CMYK (mit Druckerprofil) - & gt; RGB-Konvertierung In Photoshop können Sie es hier überprüfen: Ansicht - & gt; Proof Farbe. Sie können dasselbe mit SDKs machen.
Vielleicht hilft dieses (nicht getestete) Snippet ein bisschen - es verwendet die .NET API für ImageMagick .
%Vor%Wenn Sie die Befehlszeile verwenden können, wird dies auch den Job tun:
%Vor%Tags und Links c# converter colors cmyk color-profile