Freigeben über


CMTranslateRGBsExt-Funktion (icm.h)

Übersetzt eine Bitmap aus einem definierten Format in ein anderes definiertes Format und ruft in regelmäßigen Abständen eine Rückruffunktion auf, sofern angegeben, um den Fortschritt zu melden und der aufrufenden Anwendung das Beenden der Übersetzung zu ermöglichen.

Syntax

BOOL CMTranslateRGBsExt(
  HCMTRANSFORM   hcmTransform,
  LPVOID         lpSrcBits,
  BMFORMAT       bmInput,
  DWORD          dwWidth,
  DWORD          dwHeight,
  DWORD          dwInputStride,
  LPVOID         lpDestBits,
  BMFORMAT       bmOutput,
  DWORD          dwOutputStride,
  LPBMCALLBACKFN lpfnCallback,
  LPARAM         ulCallbackData
);

Parameter

hcmTransform

Gibt die zu verwendende Farbtransformation an.

lpSrcBits

Zeiger auf die zu übersetzende Bitmap.

bmInput

Gibt das Eingabebitbitbitformat an.

dwWidth

Gibt die Anzahl der Pixel pro Scanzeile in der Eingabebitbitte an.

dwHeight

Gibt die Anzahl der Scanzeilen in der Eingabebitbitbit an.

dwInputStride

Gibt die Anzahl der Bytes vom Anfang einer Scanzeile bis zum Anfang der nächsten in der Eingabebitbitte an. Wenn dwInputStride auf 0 festgelegt ist, sollte der CMM davon ausgehen, dass Scanzeilen aufgefüllt sind, um DWORD-ausgerichtet zu sein.

lpDestBits

Verweist auf einen Zielpuffer, in dem die übersetzte Bitmap platziert werden soll.

bmOutput

Gibt das Ausgabebitbitbitformat an.

dwOutputStride

Gibt die Anzahl der Bytes vom Anfang einer Scanzeile bis zum Anfang der nächsten in der Eingabebitbitte an. Wenn dwOutputStride auf 0 festgelegt ist, sollte der CMM Scanzeilen so auffüllen, dass sie DWORD-ausgerichtet sind.

lpfnCallback

Zeiger auf eine von der Anwendung bereitgestellte Rückruffunktion, die regelmäßig von CMTranslateRGBsExt aufgerufen wird, um den Fortschritt zu melden und dem aufrufenden Prozess das Abbrechen der Übersetzung zu ermöglichen. (Siehe ICMProgressProcCallback.)

ulCallbackData

Daten, die an die Rückruffunktion zurückgegeben werden, z. B. zur Identifizierung der Übersetzung, die den Fortschritt meldet.

Rückgabewert

Wenn diese Funktion erfolgreich ist, ist der Rückgabewert TRUE.

Wenn diese Funktion fehlschlägt, ist der Rückgabewert FALSE , und der CMM sollte SetLastError aufrufen, um den letzten Fehler auf einen in Winerror.h definierten gültigen Fehlerwert festzulegen.

Hinweise

Jeder CMM ist erforderlich, um diese Funktion zu exportieren.

Beim Schreiben in den Zielpuffer sollte der CMM sicherstellen, dass Scanzeilen aufgefüllt werden, um DWORD-ausgerichtet zu sein.

Wenn die Eingabe- und Ausgabeformate nicht mit der Farbtransformation kompatibel sind, schlägt diese Funktion fehl.

Wenn sowohl das Format der Eingabe- als auch die Ausgabebits 3 Kanäle und 4 Bytes pro Pixel aufweisen, wie bei BM_xRGBQUADS, sollten die vierten Bytes beibehalten und in den Ausgabepuffer kopiert werden.

Wenn die Rückruffunktion null zurückgibt, sollte die Verarbeitung abgebrochen werden, und CMTranslateRGBsExt sollte null zurückgeben, um einen Fehler anzuzeigen. Der Ausgabepuffer kann teilweise gefüllt sein.

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 auch dann zu übersetzen, wenn quell- und zielpuffert sind.

Anforderungen

   
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