Partager via


fonction HT_ComputeRGBGammaTable (winddi.h)

La fonction HT_ComputeRGBGammaTable permet à GDI de calculer les intensités rouges, vertes et bleues de l’appareil en fonction des nombres gamma.

Syntaxe

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

Paramètres

[in] GammaTableEntries

Spécifie le nombre total d’étapes dans le tableau pour chacune des intensités rouge, verte et bleue. Cette valeur doit être supérieure à 1 et inférieure ou égale à 256 (autrement dit, 2 <= GammaTableEntries<= 256). Par exemple, une valeur de 256 signifie qu’il y a 256 entrées rouges, 256 entrées vertes et 256 entrées bleues dans la table gamma.

[in] GammaTableType

Spécifie le organization de pGammaTable. Les types de tables valides sont les suivants :

GammaTableType Signification
0 Les valeurs rouge, verte et bleue de la table gamma sont entrelacées. Chaque étape gamma est de 3 octets ; 1 octet chacun pour le rouge, le vert et le bleu.
1 Les tables rouge, verte et bleue sont emballées séparément; autrement dit, la table rouge entière est suivie de la table verte entière, qui est suivie de la table bleue entière. Les entrées individuelles sont de 1 octet chacune, ce qui fait de chaque sous-tableau un total d’octets GammaTableEntries .

[in] RedGamma

Spécifie la valeur gamma rouge. Cette valeur USHORT est interprétée comme un nombre réel dont les quatre chiffres les moins significatifs se trouvent à droite de la virgule décimale (implicite). Par exemple, une valeur gamma de 10000 représente le nombre réel 1.0000 et 12345 représente 1.2345. La valeur gamma minimale autorisée est 0,0000 et la valeur maximale autorisée est 6,5535.

[in] GreenGamma

Spécifie la valeur gamma verte. Cette valeur USHORT est interprétée comme un nombre réel dont les quatre chiffres les moins significatifs se trouvent à droite de la virgule décimale (implicite). Par exemple, une valeur gamma de 10000 représente le nombre réel 1.0000 et 12345 représente 1.2345. La valeur gamma minimale autorisée est 0,0000 et la valeur maximale autorisée est 6,5535.

[in] BlueGamma

Spécifie la valeur gamma bleue. Cette valeur USHORT est interprétée comme un nombre réel dont les quatre chiffres les moins significatifs se trouvent à droite de la virgule décimale (implicite). Par exemple, une valeur gamma de 10000 représente le nombre réel 1.0000 et 12345 représente 1.2345. La valeur gamma minimale autorisée est 0,0000 et la valeur maximale autorisée est 6,5535.

[out] pGammaTable

Pointeur vers le tableau d’octets dans lequel les intensités rouge, verte et bleue de la table gamma seront écrites. La table retournée est organisée comme spécifié par le paramètre GammaTableType .

Valeur retournée

La valeur de retour est le nombre d’entrées gamma écrites dans pGammaTable ; en cas de réussite, cette valeur est égale à GammaTableEntries. Si GammaTableEntries est inférieur à 2 ou supérieur à 256, la valeur de retour est 0.

Les intensités rouge, verte et bleue retournées dans la plage pGammaTable comprise entre 0 et 255.

Remarques

Les routines de service en demi-teinte GDI utilisent une palette spéciale pour effectuer la demi-tonalité. Si l’appareil sélectionne une palette 8 bits par pixel à partir d’un pool de couleurs d’appareil 24 bits pour une surface de type 16 bits ou 24 bits, GDI suppose des étapes de couleur rouge, verte et bleue ; chacun a une luminosité égale.

GDI fournit ce service afin que le pilote puisse interroger la palette de demi-teintes 8 bits par pixel utilisée par GDI ou calculer les intensités de couleur RVB corrigées et égalisées gamma pour l’appareil.

Configuration requise

   
Client minimal pris en charge Disponible dans Windows 2000 et versions ultérieures des systèmes d’exploitation Windows.
Plateforme cible Universal
En-tête winddi.h (inclure Winddi.h)
Bibliothèque Win32k.lib
DLL Win32k.sys