función HT_ComputeRGBGammaTable (winddi.h)
La función HT_ComputeRGBGammaTable hace que GDI calcule las intensidades rojas, verdes y azules del dispositivo en función de los números gamma.
Sintaxis
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 el número total de pasos de la tabla para cada una de las densidades de color rojo, verde y azul. Este valor debe ser mayor que 1 y menor o igual que 256 (es decir, 2 <= GammaTableEntries<= 256). Por ejemplo, un valor de 256 significa que hay 256 entradas rojas, 256 entradas verdes y 256 entradas azules en la tabla gamma.
[in] GammaTableType
Especifica la organización de pGammaTable. Los tipos de tabla válidos son:
GammaTableType | Significado |
---|---|
0 | Los valores rojo, verde y azul de la tabla gamma se intercalan juntos. Cada paso gamma es de 3 bytes; 1 byte cada uno para rojo, verde y azul. |
1 | Las tablas rojas, verdes y azules se empaquetan por separado; es decir, toda la tabla roja va seguida de toda la tabla verde, seguida de toda la tabla azul. Las entradas individuales son de 1 byte cada una, lo que convierte cada subtable en un total de bytes GammaTableEntries de longitud. |
[in] RedGamma
Especifica el valor gamma rojo. Este valor de USHORT se interpreta como un número real cuyos cuatro dígitos menos significativos están a la derecha del separador decimal (implícito). Por ejemplo, un valor gamma de 10000 representa el número real 1,0000 y 12345 representa 1,2345. El valor gamma mínimo permitido es 0,0000 y el valor máximo permitido es 6,5535.
[in] GreenGamma
Especifica el valor gamma verde. Este valor de USHORT se interpreta como un número real cuyos cuatro dígitos menos significativos están a la derecha del separador decimal (implícito). Por ejemplo, un valor gamma de 10000 representa el número real 1,0000 y 12345 representa 1,2345. El valor gamma mínimo permitido es 0,0000 y el valor máximo permitido es 6,5535.
[in] BlueGamma
Especifica el valor gamma azul. Este valor de USHORT se interpreta como un número real cuyos cuatro dígitos menos significativos están a la derecha del separador decimal (implícito). Por ejemplo, un valor gamma de 10000 representa el número real 1,0000 y 12345 representa 1,2345. El valor gamma mínimo permitido es 0,0000 y el valor máximo permitido es 6,5535.
[out] pGammaTable
Puntero a la matriz de bytes en la que se escribirán las intensidades roja, verde y azul de la tabla gamma. La tabla devuelta se organiza según lo especificado por el parámetro GammaTableType .
Valor devuelto
El valor devuelto es el número de entradas gamma escritas en pGammaTable; si se ejecuta correctamente, este valor es igual a GammaTableEntries. Si GammaTableEntries es menor que 2 o mayor que 256, el valor devuelto es 0.
Las intensidades rojas, verdes y azules devueltas en pGammaTable oscilan entre 0 y 255.
Comentarios
Las rutinas de servicio de medio tono GDI usan una paleta especial para realizar el halftoning. Si el dispositivo selecciona una paleta de 8 bits por píxel de un grupo de colores de dispositivo de 24 bits para una superficie de tipo de 16 o 24 bits, GDI asume los pasos de color rojo, verde y azul; cada tiene un brillo igual.
GDI proporciona este servicio para que el controlador pueda consultar la paleta de media tono de 8 bits por píxel usada por GDI o calcular la gama gamma corregida e igualada de tamaño RGB para el dispositivo.
Requisitos
Cliente mínimo compatible | Disponible en Windows 2000 y versiones posteriores de los sistemas operativos Windows. |
Plataforma de destino | Universal |
Encabezado | winddi.h (incluya Winddi.h) |
Library | Win32k.lib |
Archivo DLL | Win32k.sys |