Funzione CMTranslateRGBsExt (icm.h)
Converte una bitmap da un formato definito in un formato diverso e chiama periodicamente una funzione di callback, se specificata, per segnalare lo stato di avanzamento e consentire all'applicazione chiamante di terminare la traduzione.
Sintassi
BOOL CMTranslateRGBsExt(
HCMTRANSFORM hcmTransform,
LPVOID lpSrcBits,
BMFORMAT bmInput,
DWORD dwWidth,
DWORD dwHeight,
DWORD dwInputStride,
LPVOID lpDestBits,
BMFORMAT bmOutput,
DWORD dwOutputStride,
LPBMCALLBACKFN lpfnCallback,
LPARAM ulCallbackData
);
Parametri
hcmTransform
Specifica la trasformazione del colore da usare.
lpSrcBits
Puntatore alla bitmap da tradurre.
bmInput
Specifica il formato bitmap di input.
dwWidth
Specifica il numero di pixel per ogni riga di analisi nella bitmap di input.
dwHeight
Specifica il numero di righe di analisi nella bitmap di input.
dwInputStride
Specifica il numero di byte dall'inizio di una riga di analisi all'inizio della successiva nella bitmap di input. Se dwInputStride è impostato su zero, CMM deve presupporre che le linee di analisi vengano riempite in modo da essere allineate a DWORD.
lpDestBits
Punta a un buffer di destinazione in cui posizionare la bitmap tradotta.
bmOutput
Specifica il formato bitmap di output.
dwOutputStride
Specifica il numero di byte dall'inizio di una riga di analisi all'inizio della successiva nella bitmap di input. Se dwOutputStride è impostato su zero, le linee di analisi del pad CMM devono essere allineate a DWORD.
lpfnCallback
Puntatore a una funzione callback fornita dall'applicazione denominata periodicamente da CMTranslateRGBsExt per segnalare lo stato di avanzamento e consentire al processo chiamante di annullare la traduzione. Vedere ICMProgressProcCallback.
ulCallbackData
I dati passati alla funzione di callback, ad esempio per identificare la traduzione che segnala lo stato di avanzamento.
Valore restituito
Se questa funzione ha esito positivo, il valore restituito è TRUE.
Se questa funzione ha esito negativo, il valore restituito è FALSE e CMM deve chiamare SetLastError per impostare l'ultimo errore su un valore di errore valido definito in Winerror.h.
Commenti
Ogni CMM è necessario per esportare questa funzione.
Quando si scrive nel buffer di destinazione, CMM deve assicurarsi che le righe di analisi siano allineate a DWORD.
Se i formati di input e output non sono compatibili con la trasformazione del colore, questa funzione ha esito negativo.
Se entrambi i formati bitmap di input e output sono 3 canali, 4 byte per pixel come nel caso di BM_xRGBQUADS, il quarto byte deve essere mantenuto e copiato nel buffer di output.
Se la funzione callback restituisce zero, l'elaborazione deve essere annullata e CMTranslateRGBsExt deve restituire zero per indicare l'errore; il buffer di output può essere parzialmente riempito.
Si noti che questa funzione deve supportare la traduzione sul posto. Ovvero, ogni volta che il footprint di memoria dell'output è minore o uguale al footprint di memoria dell'input, questa funzione deve essere in grado di tradurre i colori bitmap anche se i buffer di origine e di destinazione sono uguali.
Requisiti
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Intestazione | icm.h |