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 |