Übersicht über die Farbverwaltung
Digitale Bilder stammen von und richten sich an eine Vielzahl von Geräten, von denen jedes seinen eigenen Gamut und dynamischen Bereich hat. Wenn ein Fotograf dieselbe Szene auf zwei verschiedenen Kameras aufnehmen würde, würden die Farben in den resultierenden Bildern nicht genau gleich aussehen, selbst wenn er auf demselben Ausgabegerät gerendert wird, da die Farbskalafunktionen der beiden Quellgeräte unterschiedlich waren. Ebenso wird das gleiche Bild, das auf zwei verschiedenen Zielgeräten gerendert wird, unterschiedlich angezeigt, da die Zielgeräte über unterschiedliche Farbprofile verfügen. Um eine konsistente Farbwiedergabe auf allen Geräten sicherzustellen, ist es erforderlich, eine Zuordnung zwischen dem Farbprofil des Quellgeräts und dem Farbprofil des Zielgeräts zu erstellen. Das Farbmanagement zielt darauf ab, eine enge und konsistente visuelle Übereinstimmung zu erzeugen und ist ein wichtiges Merkmal in der professionellen Bildverarbeitung.
Die Möglichkeit, Farben konsistent über Scanner, Monitore, Drucker und Anwendungen hinweg zu reproduzieren, klingt nach einem einfachen Ziel, aber ohne ein Farbverwaltungssystem im Betriebssystem ist es schwierig zu erreichen. Wenn jede Anwendung ihre eigenen Farbprofile generieren muss, ist es fast unmöglich, einen konsistenten Farbaustausch während des gesamten Veröffentlichungsprozesses zu erreichen, einschließlich Scan, Bearbeitung und Komposition, Korrektur und Verteilung.
Windows Imaging Component (WIC) vereinfacht die Farbverwaltung, indem die IWICColorContext-Schnittstelle und die IWICColorTransform-Schnittstelle bereitgestellt werden. Sie können ein IWICColorTransform-Objekt mithilfe von IWICFactory::CreateColorTransformer abrufen. IWICColorContext ist eine Abstraktion für das Gerätefarbprofil. IWICColorContext wird mit einem Bitmapframe, dem Farbprofil des Quellgeräts und dem Farbprofil des Zielgeräts initialisiert. Es führt die Konvertierung des Bitmapframes aus.