Função CMTranslateRGBsExt (icm.h)
Converte um bitmap de um formato definido em um formato definido diferente e chama uma função de retorno de chamada periodicamente, se for especificada, para relatar o progresso e permitir que o aplicativo de chamada encerre a tradução.
Sintaxe
BOOL CMTranslateRGBsExt(
HCMTRANSFORM hcmTransform,
LPVOID lpSrcBits,
BMFORMAT bmInput,
DWORD dwWidth,
DWORD dwHeight,
DWORD dwInputStride,
LPVOID lpDestBits,
BMFORMAT bmOutput,
DWORD dwOutputStride,
LPBMCALLBACKFN lpfnCallback,
LPARAM ulCallbackData
);
Parâmetros
hcmTransform
Especifica a transformação de cor a ser usada.
lpSrcBits
Ponteiro 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.
dwInputStride
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 dwInputStride estiver definido como zero, o CMM deverá pressupor que as linhas de verificação sejam acolchoadas para serem alinhadas ao DWORD.
lpDestBits
Aponta para um buffer de destino no qual colocar o bitmap traduzido.
bmOutput
Especifica o formato de bitmap de saída.
dwOutputStride
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 dwOutputStride estiver definido como zero, o CMM deverá preencher as linhas de verificação para que elas sejam alinhadas a DWORD.
lpfnCallback
Ponteiro para uma função de retorno de chamada fornecida pelo aplicativo chamada periodicamente por CMTranslateRGBsExt para relatar o progresso e permitir que o processo de chamada cancele a tradução. (Consulte ICMProgressProcCallback.)
ulCallbackData
Os dados passados de volta para a função de retorno de chamada, por exemplo, para identificar a tradução que está relatando o progresso.
Valor retornado
Se essa função for bem-sucedida, o valor retornado será TRUE.
Se essa função falhar, o valor retornado será FALSE e o CMM deverá chamar SetLastError para definir o último erro como um valor de erro válido definido em Winerror.h.
Comentários
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 acolchoadas para serem alinhadas a DWORD.
Se os formatos de entrada e saída não forem compatíveis com a transformação de cor, 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, os quatro bytes deverão ser preservados e copiados para o buffer de saída.
Se a função de retorno de chamada retornar zero, o processamento deverá ser cancelado e CMTranslateRGBsExt deverá retornar zero para indicar falha; o buffer de saída pode ser parcialmente preenchido.
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 de bitmap mesmo que os buffers de origem e de destino sejam os mesmos.
Requisitos
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 |