CreateColorTransformW-Funktion (icm.h)
Erstellt eine Farbtransformation, mit der Anwendungen die Farbverwaltung durchführen können.
Syntax
HTRANSFORM CreateColorTransformW(
LPLOGCOLORSPACEW pLogColorSpace,
HPROFILE hDestProfile,
HPROFILE hTargetProfile,
DWORD dwFlags
);
Parameter
pLogColorSpace
Zeiger auf die LOGCOLORSPACEA-Eingabe.
hDestProfile
Handle mit dem Profil des Zielgeräts. Die Funktion bestimmt, ob HPROFILE Profilinformationen des International Color Consortium (ICC) oder des Windows Color System (WCS) enthält.
hTargetProfile
Handle mit dem Profil des Zielgeräts. Die Funktion bestimmt, ob das HPROFILE ICC- oder WCS-Profilinformationen enthält.
dwFlags
Gibt Flags an, die für die Erstellung der Transformation verwendet werden sollen. Siehe Hinweise.
Rückgabewert
Wenn diese Funktion erfolgreich ist, ist der Rückgabewert ein Handle für die Farbtransformation.
Wenn diese Funktion fehlschlägt, ist der Rückgabewert NULL. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.
Hinweise
Wenn das Zielprofil NULL ist, wechselt die Transformation vom logischen Quellfarbraum zum Zielprofil. Wenn das Zielprofil angegeben wird, wechselt die Transformation vom logischen Quellfarbraum zum Zielprofil und dann zum Zielprofil. Dies ermöglicht die Vorschau der Ausgabe, die für das Zielgerät auf dem Zielgerät vorgesehen ist.
Die Werte in dwFlags dienen nur als Hinweise. Das Farbverwaltungsmodul muss bestimmen, wie sie am besten verwendet werden können.
Windows Vista: Drei neue Flags wurden hinzugefügt, die mit dwFlags verwendet werden können:
Flag | Beschreibung |
---|---|
PRESERVEBLACK | Wenn dieses Bit festgelegt ist, fügt die Transformations-Engine den entsprechenden GMMP der schwarzen Generation als letzten GMMP in die Transformationssequenz ein. Dieses Flag funktioniert nur in einer reinen WCS-Transformation. |
SEQUENTIAL_TRANSFORM | Wenn dieses Bit festgelegt ist, wird jeder Schritt in der WCS-Verarbeitungspipeline für jedes Pixel im Bild ausgeführt, und es wird keine optimierte Farbtransformation erstellt. Dieses Flag funktioniert nur in einer reinen WCS-Transformation. Einschränkungen: Eine transformation, die mit dem SEQUENTIAL_TRANSFORM Flagsatz erstellt wurde, kann nur in dem Thread verwendet werden, für den sie erstellt wurde, und nur für jeweils einen Farbübersetzungsaufruf. COM muss vor dem Erstellen der sequenziellen Transformation initialisiert werden und muss für die Lebensdauer des Transformationsobjekts initialisiert bleiben. |
WCS_ALWAYS | Wenn dieses Bit festgelegt ist, verwenden selbst alle ICC-Transformationen den WCS-Codepfad. |
Hinweis
SEQUENTIAL_TRANSFORM wurde versehentlich im icm.h-Header im Windows Vista SDK ausgelassen. Wenn Sie das SEQUENTIAL_TRANSFORM-Flag verwenden möchten, definieren Sie es in Ihrer Anwendung wie folgt: #define SEQUENTIAL_TRANSFORM 0x80800000
Weitere Informationen finden Sie unter Flags zur Erstellung von CMM-Transformationen. Alle dort erwähnten Flags werden für alle Arten von Transformationen unterstützt, mit Ausnahme von FAST_TRANSLATE, die nur in einer reinen ICC-zu-ICC-Transformation funktioniert.
Die CreateColorTransform-Funktion wird außerhalb eines Gerätekontexts verwendet. Farben können sich verschieben, wenn sie von einem Farbprofil in dasselbe Farbprofil transformiert werden. Dies ist auf Genauigkeitsfehler zurückzuführen. Daher sollte unter diesen Umständen keine Farbtransformation durchgeführt werden.
Die B2Ax-Tags sind für jedes Profil erforderlich, das das Ziel einer Transformation ist.
Die WCS-Transformationsunterstützung für ICC ColorSpace-Profile ist auf RGB-Farbraumprofile beschränkt. Die folgenden ICC-Profiltypen können nicht in einer CITE-verarbeiteten Transformation verwendet werden, entweder in einer gemischten WCS/ICC-Transformation oder einer all-ICC-Transformation mit WCS_ALWAYS festgelegt:
- Nicht-RGB ColorSpace-Profile
- NamedColor-Profile
- n-Kanalprofile (wobei n > 8)
- DeviceLink-Profile
- Abstrakte Profile
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Kopfzeile | icm.h |
Bibliothek | Mscms.lib |
DLL | Mscms.dll |