Freigeben über


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

Weitere Informationen