sRGB: Ein Standardfarbraum
Als Ergebnis von Überlegungen zur Internetbandbreite haben Hewlett-Packard und Microsoft die Einführung eines vordefinierten Standardfarbraums namens sRGB (IEC 61966-2-1) vorgeschlagen, um eine genaue Farbzuordnung mit sehr wenig Datenaufwand zu ermöglichen.
Eine Hilfedateiversion eines Whitepapers, das die technischen Details von sRGB( sRGB.hlp) erläutert, ist im Ordner \Help der WCS 1.0-Programmiererreferenz verfügbar.
Verschiedene Dateiformate können ein Flag verwenden oder hinzufügen, um anzugeben, dass sich das Bild im sRGB-Farbraum befindet. Im Windows-DIB-Format (Device-Independent Bitmap) gibt das Festlegen des bV5CSType-Members der BITMAPV5HEADER-Struktur auf LCS_sRGB an, dass sich die DIB-Farben im sRGB-Farbraum befinden.
WCS 1.0 bietet native Unterstützung für sRGB. Es gibt zwei Möglichkeiten, WCS 1.0 zum Rendern eines im sRGB-Farbraum definierten Bilds zu verwenden:
So rendern Sie ein Bild im Gerätekontext
- Erstellen Sie einen Gerätekontext (Device Context, DC) auf dem Anzeigegerät.
- Legen Sie die Farbverwaltung mithilfe der SetICMMode-Funktion fest.
- Verwenden Sie die SetDIBitsToDevice-Funktion , um den DIB in den DC zu übertragen. Solange das bV5CSMType-Element der DIBs BITMAPV5HEADER-Struktur auf LCS_sRGB festgelegt ist, führt das System die entsprechende Farbverwaltung durch.
So rendern Sie ein Bild außerhalb des Gerätekontexts
- Erstellen Sie eine Transformation mit CreateColorTransformW. Das lcsCSType-Element der LOGCOLORSPACE-Struktur , auf die vom pLogColorSpace-Parameter verwiesen wird, sollte auf LCS_sRGB festgelegt werden. Der Parameter hDestProfile gibt den Farbraum des Anzeigegeräts an.
- Verwenden Sie die erstellte Farbtransformation, um die Farbe dem Bild zu entsprechen, bevor Sie es auf dem Gerät anzeigen.
WCS 1.0-Standardwerte für Eingabefarbraum und Ausgabeprofil
Wenn kein Eingabefarbraum angegeben ist, verwendet WCS 1.0 standardmäßig den sRGB-Farbraum als Eingabefarbraum für die Farbzuordnung.
Wenn kein Ausgabeprofil angegeben ist, aber ein Standardgerät angegeben ist, wählt WCS 1.0 ein Standardausgabeprofil aus. Wenn das Standardgerät kein zugeordnetes Profil aufweist, verwendet WCS 1.0 den sRGB-Farbraum als Ausgabeprofil.
Die folgende Tabelle zeigt die resultierenden Farbtransformationen, wenn ein Standardgerät nicht verfügbar ist.
Angegebenes Ausgabeprofil | Ausgabeprofil nicht angegeben | |
---|---|---|
Eingabefarbraum angegeben | Die Transformation verwendet die angegebenen Profile. | Transformiert den bekannten Eingabefarbraum in sRGB. |
Eingabefarbraum nicht angegeben | Die Transformation konvertiert von sRGB in ein bekanntes Ausgabeprofil. | Die Transformation von sRGB in sRGB wird angenommen. es wird nichts getan. |
sRGB und eingebettete Profile
Ab ICM Version 2.0 können Anwendungen, die WCS verwenden, Profile in Images einbetten. Eingebettete Profile unterstützen Benutzeranwendungen dabei, eine konsistente Farbdarstellung zu gewährleisten, auch wenn Bilder über das Internet übertragen werden.
Bilder, die den sRGB-Farbraum verwenden, benötigen kein eingebettetes Farbprofil. Da sie kein eingebettetes Profil haben, sind sRGB-basierte Bilder kleiner und leichter über Datenkanäle mit begrenzter Bandbreite übertragbar.
Anwendungen sollten das LCS_sRGB-Flag im Bitmapheader des Bilds festlegen, um anzugeben, dass das Bild den sRGB-Farbraum verwendet. Weitere Informationen finden Sie unter Windows Bitmap Header Structures und LOGCOLORSPACE.