Compartir a través de


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