HT_ComputeRGBGammaTable-Funktion (winddi.h)
Die HT_ComputeRGBGammaTable-Funktion bewirkt, dass GDI die roten, grünen und blauen Intensitäten des Geräts basierend auf Gammazahlen berechnet.
Syntax
LONG HT_ComputeRGBGammaTable(
[in] USHORT GammaTableEntries,
[in] USHORT GammaTableType,
[in] USHORT RedGamma,
[in] USHORT GreenGamma,
[in] USHORT BlueGamma,
[out] LPBYTE pGammaTable
);
Parameter
[in] GammaTableEntries
Gibt die Gesamtanzahl der Schritte in der Tabelle für die einzelnen roten, grünen und blauen Intensitäten an. Dieser Wert muss größer als 1 und kleiner als oder gleich 256 sein (d. a. 2 <= GammaTableEntries<= 256). Ein Wert von 256 bedeutet beispielsweise, dass in der Gammatabelle 256 rote Einträge, 256 grüne und 256 blaue Einträge vorhanden sind.
[in] GammaTableType
Gibt die organization von pGammaTable an. Gültige Tabellentypen sind:
GammaTableType | Bedeutung |
---|---|
0 | Die roten, grünen und blauen Werte der Gammatabelle werden miteinander verschachtelt. Jeder Gammaschritt ist 3 Bytes; Jeweils 1 Byte für Rot, Grün und Blau. |
1 | Die roten, grünen und blauen Tische sind separat verpackt; Das heißt, auf die gesamte rote Tabelle folgt die gesamte grüne Tabelle, gefolgt von der gesamten blauen Tabelle. Einzelne Einträge sind jeweils 1 Byte, sodass jede Untertabelle eine Gesamtlänge von GammaTableEntries-Bytes aufweist. |
[in] RedGamma
Gibt den roten Gammawert an. Dieser USHORT-Wert wird als reelle Zahl interpretiert, deren vier Ziffern mit der geringsten Bedeutung rechts neben dem (implizierten) Dezimalpunkt liegen. Beispielsweise stellt ein Gammawert von 10000 die reelle Zahl 1,0000 und 12345 1,2345 dar. Der minimale zulässige Gammawert ist 0,0000, und der maximal zulässige Wert ist 6,5535.
[in] GreenGamma
Gibt den grünen Gammawert an. Dieser USHORT-Wert wird als reelle Zahl interpretiert, deren vier Ziffern mit der geringsten Bedeutung rechts neben dem (implizierten) Dezimalpunkt liegen. Beispielsweise stellt ein Gammawert von 10000 die reelle Zahl 1,0000 und 12345 1,2345 dar. Der minimale zulässige Gammawert ist 0,0000, und der maximal zulässige Wert ist 6,5535.
[in] BlueGamma
Gibt den blauen Gammawert an. Dieser USHORT-Wert wird als reelle Zahl interpretiert, deren vier Ziffern mit der geringsten Bedeutung rechts neben dem (implizierten) Dezimalpunkt liegen. Beispielsweise stellt ein Gammawert von 10000 die reelle Zahl 1,0000 und 12345 1,2345 dar. Der minimale zulässige Gammawert ist 0,0000, und der maximal zulässige Wert ist 6,5535.
[out] pGammaTable
Zeiger auf das Bytearray, in das die roten, grünen und blauen Intensitäten der Gammatabelle geschrieben werden. Die zurückgegebene Tabelle wird wie vom GammaTableType-Parameter angegeben organisiert.
Rückgabewert
Der Rückgabewert ist die Anzahl der Gammaeinträge, die in pGammaTable geschrieben wurden. Bei Erfolg ist dieser Wert gleich GammaTableEntries. Wenn GammaTableEntries kleiner als 2 oder größer als 256 ist, ist der Rückgabewert 0.
Die in pGammaTable zurückgegebenen roten, grünen und blauen Intensitäten liegen zwischen 0 und 255.
Hinweise
GDI-Halbtondienstroutinen verwenden eine spezielle Palette zum Halbtonieren. Wenn das Gerät eine Palette von 8 Bit pro Pixel aus einem Pool mit 24-Bit-Gerätefarben für eine 16-Bit- oder 24-Bit-Typoberfläche auswählt, setzt GDI rote, grüne und blaue Farbschritte voraus; jede hat die gleiche Helligkeit.
GDI stellt diesen Dienst bereit, damit der Treiber die von GDI verwendete Halbtonpalette von 8 Bit pro Pixel abfragen kann oder gammakorrigierte und entzerrte RGB-Farbintensitäten für das Gerät berechnen kann.
Anforderungen
Unterstützte Mindestversion (Client) | Verfügbar in Windows 2000 und höheren Versionen der Windows-Betriebssysteme. |
Zielplattform | Universell |
Header | winddi.h (einschließlich Winddi.h) |
Bibliothek | Win32k.lib |
DLL | Win32k.sys |