Enthält dvipsnam.def nicht die finalen CMYK-Werte? Thema ist als GELÖST markiert

Tabellen und Grafiken erstellen und anordnen


khzimmer
Forum-Anfänger
Forum-Anfänger
Beiträge: 27
Registriert: So 3. Mär 2019, 12:01

Enthält dvipsnam.def nicht die finalen CMYK-Werte?

Beitrag von khzimmer »

Hi,

Ihr kennt vermutlich die Werte aus der Datei dvipsnam.def:

texlive/…/texmf-dist/tex/latex/graphics/dvipsnam.def

Zum Beispiel ist RoyalPurple dort so definiert:

C: 0.75
M: 0.9
Y: 0
K: 0

Das wäre ein ›ziemlich blau wirkendes Blau‹, also kein Purpurton.

Das PDF der Doku von Paket xcolor aber (so wie auch meine Test mit LaTeX) enthält in Abschnitt 4.2 (»Colors via dvipsnames option«) eine ganz andere Farbe, nämlich einen schönen Purpur-Ton, der diese CMYK-Werte hat:

C: 0.42
M: 0.66
Y: 0
K: 0.40

Darum meine Frage: Enthält die Tabelle in dvipsnam.def nicht die finalen CMYK-Werte?

Mein Testcode:
\documentclass{standalone}
 
\usepackage[dvipsnames]{xcolor}
 
\begin{document}
 
\definecolor{RoyalPurpleManuallyDefined}{cmyk}{0.75,0.9,0,0}

{\textcolor{RoyalPurpleManuallyDefined}{RoyalPurple using textcolor\{RoyalPurpleManuallyDefined\}}}

{\textcolor{RoyalPurple}{RoyalPurple using textcolor\{RoyalPurple\}}}

\end{document}
Beide von LaTeX erzeugten Farben sind identisch, egal, ob ich einfach RoyalPurple schreibe (also die vordefinierte Farbe aus der dvipsnames-Palette von xcolor), oder ob ich sie per \definecolor manuell mit den Werten definiere, die in der Datei dvipsnam.def für RoyalPurple angegeben sind.

ABER wenn ich mit einem Grafikprogramm per Color Picker nachschaue, welche Farbe das ist, werden mir die oben geschriebenen, ANDEREN CMYK-Werte angezeigt.

Woran liegt das, was macht LaTeX mit den Werten, die in dvipsnam.def stehen?

Anders gefragt:
1.) Wo finde ich (falls sie woanders definiert sind) die wirklichen CMYK-Werte für die dvipsnames-Palette?
2. ) Bzw. wie müsste ich die Werte aus dvipsnam.def umrechnen, um die endgültigen Werte zu erhalten?

Danke für Euer Mitgrübeln. :)

Karl-Heinz
--
PS: Ich nutzte jetzt den Weg, die tatsächlichen Farben mit einem kleinen C++-Programm aus der von LaTeX erzeugten Palette herauszulesen und als neue CMYK-Werte abzuspeichern.

Der Grund für meine Frage hat sich (für mich) damit erledigt und ich stelle den Post auf solved, damit Ihr nicht unnötigerweise kostbare Lebenszeit auf die Aufgabe verwendet, auch wenn die eigentliche Frage damit natürlich nicht beantwortet ist. :)

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Re: Enthält dvipsnam.def nicht die finalen CMYK-Werte?

Beitrag von u_fischer »

der Adobe zeigt mir in der Doku den richtigen dvipsname-Werte an und in der pdf sind sie auch. Also spinnt wohl dein Colorpicker oder dein Grafikprogramm hat die Werte konvertiert, z.B. in RGB.

khzimmer
Forum-Anfänger
Forum-Anfänger
Beiträge: 27
Registriert: So 3. Mär 2019, 12:01

Re: Enthält dvipsnam.def nicht die finalen CMYK-Werte?

Beitrag von khzimmer »

Danke für die Antwort. :)

Welche Werte bekommst du denn für RoyalPurple angezeigt?

C: 0.75
M: 0.9
Y: 0
K: 0

oder:

C: 0.42
M: 0.66
Y: 0
K: 0.40

(Obige stammen von dvipsnam.def, die unteren vom ColorPicker.)

Der Unterschied zwischen beiden Farben ist sehr groß und wäre nicht durch CMYK-RGB-Umwandlung zu erklären.
u_fischer hat geschrieben:
Mo 1. Aug 2022, 14:48
der Adobe zeigt mir in der Doku den richtigen dvipsname-Werte an und in der pdf sind sie auch. (…)

khzimmer
Forum-Anfänger
Forum-Anfänger
Beiträge: 27
Registriert: So 3. Mär 2019, 12:01

Re: Enthält dvipsnam.def nicht die finalen CMYK-Werte?

Beitrag von khzimmer »

Zur Verdeutlichung, in der (per C++-Progrämmle generierten) Farbtabelle habe ich RoyalPurple markiert:

Bild

Mein RoyalPurple entspricht dem schönen Farbton, den auch das Doku-PDF von xcolor zeigt:

Bild

Allerdings, siehe vorige Posts, ist diese Farbe halt nicht

C: 0.75
M: 0.9
Y: 0
K: 0

Zwei Probleme:

1. Die Farbe entspricht überhaupt nicht den in dvipsnam.def eingetragenen Werten.

2. Der Befehl \definecolor mogelt. :)

Teste es selbst, siehe mein ausführbares Beispiel-Programm im ersten Post.

Der Befehl
\definecolor{ name }{cmyk}{0.75,0.90,0,0}
erzeugt den schönen RoyalPurple-Farbton aus der Doku, aber diese Farbe hat nicht die CMYK-Werte, die du dem Befehl in {} angibst.

wer viel misst

Re: Enthält dvipsnam.def nicht die finalen CMYK-Werte?

Beitrag von wer viel misst »

Kann es dein, dass bei dir das Font-Antialiasing im PDF-Viewer die Farbe verfälscht? Probier mal lieber große Farbflächen. Wenn es dann noch immer nicht stimmt, würde ich dem PDF-Viewer und dem Farbpicker misstrauen. Eventuell mischt einer von beiden oder beide noch ein Farbprofil dazu. Am Bildschirm werden ja üblicherweise keine CMYK-Farben angezeigt, so dass im Grafikspeicher eher RGB-Farben abgelegt sind. Die Farben werden also eventuell für die Anzeige von CMYK nach RGB gewandelt und in deinem Farbpicker wird die RGB-Farbe dann wieder in CMYK zurück gewandelt. Da sind also zwei Transformationsmatrizen involviert. Das kann durchaus zu erheblichen Verschiebungen bei den resultierenden Werten führen.

Und nein, xcolor schummelt nicht bei den Farben. Das Paket arbeitet sehr akkurat. Wobei abhängig von den Optionen durchaus Farben von einem Farbraum in einen anderen umgewandelt werden. Siehe dazu die Anleitung, in der ja auch einiges zur Theorie zu finden ist.

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Re: Enthält dvipsnam.def nicht die finalen CMYK-Werte?

Beitrag von u_fischer »

khzimmer hat geschrieben:
Sa 13. Aug 2022, 08:39
Welche Werte bekommst du denn für RoyalPurple angezeigt?
Wenn ich dies hier kompiliere
\ExplSyntaxOn
\sys_load_backend:n{}
\pdf_uncompress:
\ExplSyntaxOff
\documentclass{article}
\usepackage[dvipsnames]{xcolor}

\begin{document}
\color{RoyalPurple}\rule{1cm}{1cm}
\end{document}
Dann steht anschließend in der pdf-Datei
0.75 0.9 0 0 k 0.75 0.9 0 0 K
D.h. cmyk 0.75 0.9 0 0. Dasselbe steht in der xcolor-Doku.

khzimmer
Forum-Anfänger
Forum-Anfänger
Beiträge: 27
Registriert: So 3. Mär 2019, 12:01

Re: Enthält dvipsnam.def nicht die finalen CMYK-Werte?

Beitrag von khzimmer »

u_fischer hat geschrieben:
Sa 13. Aug 2022, 21:14
khzimmer hat geschrieben:
Sa 13. Aug 2022, 08:39
Welche Werte bekommst du denn für RoyalPurple angezeigt?
Wenn ich dies hier kompiliere
\ExplSyntaxOn
\sys_load_backend:n{}
\pdf_uncompress:
\ExplSyntaxOff
\documentclass{article}
\usepackage[dvipsnames]{xcolor}

\begin{document}
\color{RoyalPurple}\rule{1cm}{1cm}
\end{document}
Dann steht anschließend in der pdf-Datei
0.75 0.9 0 0 k 0.75 0.9 0 0 K
D.h. cmyk 0.75 0.9 0 0. Dasselbe steht in der xcolor-Doku.
Wie erklärst du dir dann, dass der Colorpicker, wenn du ein Screenshot der von dir erstellten PDF-Datei machst, völlig andere Werte zeigt?

Ich verwendete den Gimp dazu und erhielt, wie gesagt:

C: 42
M: 66
Y: 0
K: 40

Die sind ja wirklich SEHR anders als die Input-Parameter. :(
Bild

Obige Farbe (bei »Aktuell«) zeigt das, was Gimp tut,
wenn ich in den vier Eingabefeldern des Dialogs
manuell
C: 75
M: 90
Y: 0
K: 0
eintrage – ich bekommen dann dies ziemlich merkwürdiges Blau.

Die schöne Farbe darunter (bei »Vorher«) ist die per ColorPicker aus dem PDF entnommene Farbe, die halt C=42, M=66 … anzeigt.
Zuletzt geändert von khzimmer am Sa 13. Aug 2022, 22:54, insgesamt 1-mal geändert.

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Re: Enthält dvipsnam.def nicht die finalen CMYK-Werte?

Beitrag von u_fischer »

Wie erklärst du dir dann, dass der Colorpicker, wenn du ein Screenshot der von dir erstellten PDF-Datei machst, völlig andere Werte zeigt?
Wie kommst du darauf, dass ein Screenshot von einem (wahrscheinlich) unkalibrierten rgb-Bildschirm zuverlässige Werte geben könnte? Abgesehen davon: wenn dein Colorpicker Unsinn macht, ist das kein LaTeX Problem. Da solltest du ein gimp-Forum suchen.

khzimmer
Forum-Anfänger
Forum-Anfänger
Beiträge: 27
Registriert: So 3. Mär 2019, 12:01

Re: Enthält dvipsnam.def nicht die finalen CMYK-Werte?

Beitrag von khzimmer »

(ich hab meine vorige Frage hier gelöscht) :)
Zuletzt geändert von khzimmer am Sa 13. Aug 2022, 23:18, insgesamt 2-mal geändert.

khzimmer
Forum-Anfänger
Forum-Anfänger
Beiträge: 27
Registriert: So 3. Mär 2019, 12:01

Re: Enthält dvipsnam.def nicht die finalen CMYK-Werte?

Beitrag von khzimmer »

u_fischer hat geschrieben:
Sa 13. Aug 2022, 22:53
Wie erklärst du dir dann, dass der Colorpicker, wenn du ein Screenshot der von dir erstellten PDF-Datei machst, völlig andere Werte zeigt?
Wie kommst du darauf, dass ein Screenshot von einem (wahrscheinlich) unkalibrierten rgb-Bildschirm zuverlässige Werte geben könnte? Abgesehen davon: wenn dein Colorpicker Unsinn macht, ist das kein LaTeX Problem. Da solltest du ein gimp-Forum suchen.
Hi Ulrike,

ich verstehe es jetzt und nehme meine Frage zurück:

Der Fehler liegt höchstwahrscheinlich in meinem C++-Programm, bzw. in der dort genutzten Library zur Darstellung der Farben.

Der Beweis liegt ja vor: Im von LaTeX erzeugten PDF stehen ja exakt die Werte drin, die auch in dvipsnam.def stehen.

Wenn ich also von meinen Programm, das ich mit den gleichen Werte füttere, andere Farben als Ergebnis erhalte (ich arbeite dort auch mit rechteckigen Farbflächen), dann stimmt etwas mit meinem Programm nicht.

xcolor macht es sicherlich richtig, sonst stünden im PDF ja andere Werte. :)

Antworten