Compartilhar via


Função CheckBitmapBits (icm.h)

Verifica se os pixels em um bitmap especificado estão dentro da gama de saída de uma transformação especificada.

Sintaxe

BOOL CheckBitmapBits(
  HTRANSFORM    hColorTransform,
  PVOID         pSrcBits,
  BMFORMAT      bmInput,
  DWORD         dwWidth,
  DWORD         dwHeight,
  DWORD         dwStride,
  PBYTE         paResult,
  PBMCALLBACKFN pfnCallback,
  LPARAM        lpCallbackData
);

Parâmetros

hColorTransform

Manipule para a transformação de cores a ser usada.

pSrcBits

Ponteiro para o bitmap para marcar contra a gama de saída.

bmInput

Especifica o formato do bitmap. Deve ser definido como um dos valores do tipo enumerado BMFORMAT .

dwWidth

Especifica o número de pixels por linha de verificação do bitmap.

dwHeight

Especifica o número de linhas de verificação do bitmap.

dwStride

Especifica o número de bytes desde o início de uma linha de verificação até o início da próxima. Se definido como zero, presume-se que as linhas de verificação de bitmap sejam preenchidas para que sejam alinhadas com DWORD.

paResult

Ponteiro para uma matriz de bytes em que os resultados do teste devem ser colocados. Esse buffer de resultados deve conter pelo menos quantos bytes houver pixels no bitmap.

pfnCallback

Ponteiro para uma função de retorno de chamada chamada chamada periodicamente por CheckBitmapBits para relatar o progresso e permitir que o processo de chamada cancele o teste de bitmap. (Consulte ICMProgressProcCallback).

lpCallbackData

Os dados passados de volta para a função de retorno de chamada, por exemplo, para identificar o teste de bitmap sobre qual progresso está sendo relatado.

Retornar valor

Se essa função for bem-sucedida, o valor retornado será um valor diferente de zero.

Se essa função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.

Comentários

Se o formato de entrada não for compatível com a transformação de cores, a função CheckBitmapBits falhará.

Essa função coloca os resultados dos testes no buffer apontado por paResult. Cada byte no buffer corresponde a um pixel no bitmap e tem um valor sem sinal entre 0 e 255. O valor 0 indica que a cor está em gama, enquanto um valor diferente de zero indica que ela está fora de gama. Para qualquer número inteiro n de modo que 0 <n< 255, um valor de resultado de n + 1 indica que a cor correspondente está pelo menos tão distante da gama quanto seria indicado por um valor de resultado de n.

Quando um dos BMFORMATs de ponto flutuante, BM_32b_scARGB ou BM_32b_scRGB é usado, os dados de cor que estão sendo verificados não devem conter NaN ou infinito. NaN e infinito não são considerados para representar valores de componente de cor legítimos, e o resultado da verificação de pixels que contêm NaN ou infinito não tem sentido em termos de cor. Valores naN ou infinitos nos dados de cor que estão sendo processados serão tratados silenciosamente e um erro não será retornado.

As informações fora da gama nas marcas de gama criadas no WCS usam a distância de cor perceptiva em CIECAM02, que é a raiz quadrada média em CIECAM02 espaço Jab. A distância nas marcas de gama de perfil ICC herdadas é a raiz quadrada média no espaço CIELAB. Recomendamos que você use o espaço CIECAM02 quando ele estiver disponível, pois ele fornece métricas de distância mais percepticamente precisas.

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
Biblioteca Mscms.lib
DLL Mscms.dll

Confira também