Compartilhar via


Função HT_ComputeRGBGammaTable (winddi.h)

A função HT_ComputeRGBGammaTable faz com que a GDI compute as intensidades vermelha, verde e azul do dispositivo com base em números gama.

Sintaxe

LONG HT_ComputeRGBGammaTable(
  [in]  USHORT GammaTableEntries,
  [in]  USHORT GammaTableType,
  [in]  USHORT RedGamma,
  [in]  USHORT GreenGamma,
  [in]  USHORT BlueGamma,
  [out] LPBYTE pGammaTable
);

Parâmetros

[in] GammaTableEntries

Especifica o número total de etapas na tabela para cada intensidade vermelha, verde e azul. Esse valor deve ser maior que 1 e menor ou igual a 256 (ou seja, 2 <= GammaTableEntries<= 256). Por exemplo, um valor de 256 significa que há 256 entradas vermelhas, 256 entradas verdes e 256 entradas azuis na tabela gama.

[in] GammaTableType

Especifica a organização de pGammaTable. Os tipos de tabela válidos são:

GammaTableType Significado
0 Os valores vermelho, verde e azul da tabela gama são intercalados juntos. Cada etapa gama é de 3 bytes; 1 byte cada para vermelho, verde e azul.
1 As tabelas vermelhas, verdes e azuis são empacotadas separadamente; ou seja, toda a tabela vermelha é seguida por toda a tabela verde, que é seguida por toda a tabela azul. As entradas individuais são de 1 byte cada, tornando cada subtível um total de bytes GammaTableEntries de comprimento.

[in] RedGamma

Especifica o valor gama vermelho. Esse valor ushort é interpretado como um número real cujos quatro dígitos menos significativos estão à direita do ponto decimal (implícito). Por exemplo, um valor gama de 10000 representa o número real 1,0000 e 12345 representa 1,2345. O valor mínimo de gama permitido é 0,0000 e o valor máximo permitido é 6,5535.

[in] GreenGamma

Especifica o valor gama verde. Esse valor ushort é interpretado como um número real cujos quatro dígitos menos significativos estão à direita do ponto decimal (implícito). Por exemplo, um valor gama de 10000 representa o número real 1,0000 e 12345 representa 1,2345. O valor mínimo de gama permitido é 0,0000 e o valor máximo permitido é 6,5535.

[in] BlueGamma

Especifica o valor gama azul. Esse valor ushort é interpretado como um número real cujos quatro dígitos menos significativos estão à direita do ponto decimal (implícito). Por exemplo, um valor gama de 10000 representa o número real 1,0000 e 12345 representa 1,2345. O valor mínimo de gama permitido é 0,0000 e o valor máximo permitido é 6,5535.

[out] pGammaTable

Ponteiro para a matriz de bytes em que as intensidades vermelha, verde e azul da tabela gama serão gravadas. A tabela retornada é organizada conforme especificado pelo parâmetro GammaTableType .

Valor retornado

O valor retornado é o número de entradas gama gravadas em pGammaTable; após o sucesso, esse valor é igual a GammaTableEntries. Se GammaTableEntries for menor que 2 ou maior que 256, o valor retornado será 0.

As intensidades vermelha, verde e azul retornadas em pGammaTable variam de 0 a 255.

Comentários

As rotinas de serviço de meio tom GDI usam uma paleta especial para fazer halftoning. Se o dispositivo selecionar uma paleta de 8 bits por pixel de um pool de cores de dispositivo de 24 bits para uma superfície de tipo de 16 ou 24 bits, a GDI assumirá as etapas de cor vermelha, verde e azul; cada tem brilho igual.

A GDI fornece esse serviço para que o driver possa consultar a paleta de meio tom de 8 bits por pixel usada pela GDI ou as intensidades de cor RGB corrigidas e igualadas por gama de computação para o dispositivo.

Requisitos

   
Cliente mínimo com suporte Disponível no Windows 2000 e versões posteriores dos sistemas operacionais Windows.
Plataforma de Destino Universal
Cabeçalho winddi.h (inclua Winddi.h)
Biblioteca Win32k.lib
DLL Win32k.sys