Condividi tramite


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

Vedi anche