Share via


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

Confira também