Funzione CMTranslateRGBs (icm.h)

[CMTranslateRGBs non è più disponibile per l'uso a partire da Windows Vista.]

Converte una bitmap da uno spazio colore a un altro usando una trasformazione del colore.

Sintassi

BOOL CMTranslateRGBs(
  HCMTRANSFORM hcmTransform,
  LPVOID       lpSrcBits,
  BMFORMAT     bmInput,
  DWORD        dwWidth,
  DWORD        dwHeight,
  DWORD        dwStride,
  LPVOID       lpDestBits,
  BMFORMAT     bmOutput,
  DWORD        dwTranslateDirection
);

Parametri

hcmTransform

Specifica la trasformazione del colore da usare.

lpSrcBits

Punta 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.

dwStride

Specifica il numero di byte dall'inizio di una riga di analisi all'inizio della successiva nella bitmap di input. Se dwStride è 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.

dwTranslateDirection

Specifica la direzione della trasformazione usata per la traduzione. Questo parametro deve accettare uno dei valori seguenti.

Valore Significato
CMS_FORWARD

Usare la trasformazione avanti

CMS_BACKWARD

Usare la trasformazione inversa

Valore restituito

A partire da Windows Vista, il CMM predefinito (Icm32.dll) restituirà FALSE e GetLastError reporterà ERROR_NOT_SUPPORTED.

Windows Server 2003, Windows XP e Windows 2000:

Se questa funzione ha esito positivo, il valore restituito è TRUE.

Se questa funzione ha esito negativo, il valore restituito è FALSE. Se la funzione non ha esito positivo, CMM deve chiamare SetLastError per impostare l'ultimo errore su un valore di errore valido definito in Winerror.h.

Commenti

A partire da Windows Vista, gli implementatori CMM non sono più necessari per implementare questo metodo.

Windows Server 2003, Windows XP e Windows 2000:

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 4° byte deve essere mantenuto e copiato nel buffer di output.

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

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione icm.h

Vedi anche