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 |