Share via


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