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 |