Função CMTranslateRGBs (icm.h)
[CMTranslateRGBs não está mais disponível para uso a partir do Windows Vista.]
Converte um bitmap de um espaço de cor para outro usando uma transformação de cor.
Sintaxe
BOOL CMTranslateRGBs(
HCMTRANSFORM hcmTransform,
LPVOID lpSrcBits,
BMFORMAT bmInput,
DWORD dwWidth,
DWORD dwHeight,
DWORD dwStride,
LPVOID lpDestBits,
BMFORMAT bmOutput,
DWORD dwTranslateDirection
);
Parâmetros
hcmTransform
Especifica a transformação de cor a ser usada.
lpSrcBits
Aponta para o bitmap a ser convertido.
bmInput
Especifica o formato de bitmap de entrada.
dwWidth
Especifica o número de pixels por linha de verificação no bitmap de entrada.
dwHeight
Especifica o número de linhas de verificação no bitmap de entrada.
dwStride
Especifica o número de bytes desde o início de uma linha de verificação até o início do próximo no bitmap de entrada. Se dwStride estiver definido como zero, o CMM deverá pressupor que as linhas de verificação sejam preenchidas de modo a serem alinhadas a DWORD.
lpDestBits
Aponta para um buffer de destino no qual colocar o bitmap traduzido.
bmOutput
Especifica o formato de bitmap de saída.
dwTranslateDirection
Especifica a direção da transformação que está sendo usada para a tradução. Esse parâmetro deve ter um dos valores a seguir.
Valor | Significado |
---|---|
CMS_FORWARD | Usar a transformação de encaminhamento |
CMS_BACKWARD | Usar transformação inversa |
Retornar valor
A partir do Windows Vista, o CMM padrão (Icm32.dll) retornará FALSE e GetLastError relatará ERROR_NOT_SUPPORTED.
Windows Server 2003, Windows XP e Windows 2000:
Se essa função for bem-sucedida, o valor retornado será TRUE.
Se essa função falhar, o valor retornado será FALSE. Se a função não for bem-sucedida, o CMM deverá chamar SetLastError para definir o último erro como um valor de erro válido definido em Winerror.h.
Comentários
A partir do Windows Vista, os Implementadores de CMM não são mais necessários para implementar esse método.
Windows Server 2003, Windows XP e Windows 2000:
Cada CMM é necessário para exportar essa função.
Ao gravar no buffer de destino, o CMM deve garantir que as linhas de verificação sejam preenchidas para serem alinhadas com DWORD.
Se os formatos de entrada e saída não forem compatíveis com a transformação de cores, essa função falhará.
Se os formatos de bitmap de entrada e saída forem de 3 canais, 4 bytes por pixel como no caso de BM_xRGBQUADS, o 4º byte deverá ser preservado e copiado para o buffer de saída.
Observe que essa função deve dar suporte à tradução in-loco. Ou seja, sempre que o volume de memória da saída for menor ou igual ao volume de memória da entrada, essa função deverá ser capaz de traduzir as cores do bitmap mesmo que os buffers de origem e de destino sejam os mesmos.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Cabeçalho | icm.h |