CMTranslateRGBs-Funktion (icm.h)
[CMTranslateRGBs ist ab Windows Vista nicht mehr verfügbar.]
Übersetzt eine Bitmap aus einem Farbraum in einen anderen mithilfe einer Farbtransformation.
Syntax
BOOL CMTranslateRGBs(
HCMTRANSFORM hcmTransform,
LPVOID lpSrcBits,
BMFORMAT bmInput,
DWORD dwWidth,
DWORD dwHeight,
DWORD dwStride,
LPVOID lpDestBits,
BMFORMAT bmOutput,
DWORD dwTranslateDirection
);
Parameter
hcmTransform
Gibt die zu verwendende Farbtransformation an.
lpSrcBits
Zeigt auf die zu übersetzende Bitmap.
bmInput
Gibt das Eingabebitbitbitformat an.
dwWidth
Gibt die Anzahl von Pixeln pro Scanzeile in der Eingabe-Bitmap an.
dwHeight
Gibt die Anzahl der Scanzeilen in der Eingabebitbit an.
dwStride
Gibt die Anzahl der Bytes vom Anfang einer Scanzeile bis zum Anfang der nächsten in der Eingabe-Bitmap an. Wenn dwStride auf 0 festgelegt ist, sollte der CMM davon ausgehen, dass die Scanzeilen aufgefüllt sind, um DWORD-ausgerichtet zu sein.
lpDestBits
Zeigt auf einen Zielpuffer, in dem die übersetzte Bitmap platziert werden soll.
bmOutput
Gibt das Bitmapformat der Ausgabe an.
dwTranslateDirection
Gibt die Richtung der Transformation an, die für die Übersetzung verwendet wird. Dieser Parameter muss einen der folgenden Werte annehmen.
Wert | Bedeutung |
---|---|
CMS_FORWARD | Verwenden der Vorwärtstransformation |
CMS_BACKWARD | Verwenden der reversen Transformation |
Rückgabewert
Ab Windows Vista gibt der Standard-CMM (Icm32.dll) FALSE zurück, und GetLastError meldet ERROR_NOT_SUPPORTED.
Windows Server 2003, Windows XP und Windows 2000:
Wenn diese Funktion erfolgreich ist, ist der Rückgabewert TRUE.
Wenn diese Funktion fehlschlägt, ist der Rückgabewert FALSE. Wenn die Funktion nicht erfolgreich ist, sollte der CMM SetLastError aufrufen, um den letzten Fehler auf einen gültigen Fehlerwert festzulegen, der in Winerror.h definiert ist.
Hinweise
Ab Windows Vista sind CMM-Implementors nicht mehr erforderlich, um diese Methode zu implementieren.
Windows Server 2003, Windows XP und Windows 2000:
Jeder CMM ist erforderlich, um diese Funktion zu exportieren.
Beim Schreiben in den Zielpuffer sollte der CMM sicherstellen, dass die Scanzeilen für DWORD-ausrichtung gepolstert sind.
Wenn die Eingabe- und Ausgabeformate nicht mit der Farbtransformation kompatibel sind, schlägt diese Funktion fehl.
Wenn sowohl Eingabe- als auch Ausgabe-Bitmapformate 3 Kanäle und 4 Bytes pro Pixel sind, wie bei BM_xRGBQUADS, sollte das 4. Byte beibehalten und in den Ausgabepuffer kopiert werden.
Beachten Sie, dass diese Funktion die direkte Übersetzung unterstützen muss. Das heißt, wenn der Speicherbedarf der Ausgabe kleiner oder gleich dem Speicherbedarf der Eingabe ist, muss diese Funktion in der Lage sein, die Bitmapfarben zu übersetzen, auch wenn die Quell- und Zielpuffer identisch sind.
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 |