Share via


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

Confira também