Funzione CMTranslateRGBsExt (icm.h)

Converte periodicamente una bitmap da un formato definito in un formato definito 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 utilizzare.

lpSrcBits

Puntatore alla bitmap da convertire.

bmInput

Specifica il formato bitmap di input.

dwWidth

Specifica il numero di pixel per 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 righe di analisi siano riempite in modo da essere allineate con 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, il CMM deve analizzare le linee in modo che siano allineate a DWORD.

lpfnCallback

Puntatore a una funzione di callback fornita dall'applicazione chiamata 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.

Osservazioni:

Ogni CMM è necessario per esportare questa funzione.

Quando si scrive nel buffer di destinazione, CMM deve assicurarsi che le righe di analisi siano riempite per essere 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, i quarto byte devono essere conservati e copiati nel buffer di output.

Se la funzione di 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 conversione 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 convertire i colori bitmap anche se i buffer di origine e di destinazione sono uguali.

Requisiti

Requisito Value
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Header icm.h
Library Icm32.Lib

Vedere anche