Colorspace Support in C#

23 10 2014

Wer sich mal mit Farbräumen beschäftigt hat, der wird schnell feststellen, dass dieses Thema recht schnell recht komplex werden kann.

Leider kranken viele Produkte heute immer noch an der mangelnden Unterstützung. Ein häufiger Effekt ist z. B.: Man erhält eine PDF-Datei von einem Grafiker und möchte diese in seinem ach so tollen Schütteltool PDFViewer in einer WPF-Anwendung darstellen. Für einen selber sieht alles gut aus.

Blöd wird es nur, wenn der Grafiker die PDF-Datei in der WPF-Anwendung sieht und feststellt, dass da etwas mit den Farben nicht stimmt. Bei genauerer Recherche kommt man dann drauf, dass das ICC-Profil bei der Erzeugung von PDF-Dateien mittlerweile der Standard zu ein scheint.

So hat z. B. Ghostscript bei Version 9.07 von Postscript Color Management (PCM) auf ICC-Profile gewechselt: http://www.ghostscript.com/doc/9.07/GS9_Color_Management.pdf

Bei ICC Farbräumen gibt es zwei Versionen, V2 und V4 welche überwiegend zum Einsatz kommen. Wenn man seinen PDFViewer seiner Wahl prüfen möchte, dann verwendet man einfach dieses Testbild: http://www.color.org/version4pdf.pdf.

ICC-Profil Spezifikationen: http://www.color.org/specification/ICC1v43_2010-12.pdf

Wer nun also mit Farbräumen in C# spielen möchte und zwischen verschiedenen Farbräumen Konvertierungen vornehmen möchte, der wird sich über diese C#-Library freuen: http://www.codeproject.com/Articles/613798/Colorspaces-and-Conversions von diesem guten Mann: http://www.fotostein.at/Software/ColorManager.