Freigeben über


SetDeviceGammaRamp-Funktion (wingdi.h)

Die SetDeviceGammaRamp-Funktion legt die Gammarampe auf Direkten Farbanzeigeboards mit Treibern fest, die herunterladbare Gammarampen in Hardware unterstützen.

Wichtig

Es wird dringend empfohlen, diese API nicht zu verwenden. Die Verwendung dieser API unterliegt erheblichen Einschränkungen:

  • SetDeviceGammaRamp implementiert Heuristiken, um zu überprüfen, ob eine bereitgestellte Rampe zu einem nicht lesbaren Bildschirm führt. Wenn eine Rampe gegen diese Heuristiken verstößt, schlägt die Funktion im Hintergrund fehl (das heißt, sie gibt TRUE zurück, aber ihre Rampe wird nicht festgelegt). Aus diesem Grund können Sie nicht erwarten, dass Sie diese Funktion verwenden, um nur eine beliebige Gamma-Rampe festzulegen. Insbesondere verhindert die Heuristik Rampen, die dazu führen würden, dass sich fast alle Pixel einem einzelnen Wert nähern (z. B. Schwarz/Weiß im Vollbildmodus), da dies einen Benutzer daran hindern kann, den Bildschirm wiederherzustellen.

  • Aufgrund der globalen Natur der Funktion kann jede andere Anwendung im System jederzeit jede von Ihnen festgelegte Rampe überschreiben. In einigen Fällen kann das Betriebssystem selbst die Verwendung dieser Funktion reservieren, was dazu führt, dass jede vorhandene Rampe überschrieben wird. Die Gammarampe wird auch bei den meisten Anzeigeereignissen zurückgesetzt (Verbinden/Trennen eines Monitors, Auflösungsänderungen usw.). Sie können also nicht sicher sein, dass eine von Ihnen festgelegte Rampe in Kraft ist.

  • Diese API weist in HDR-Modi ein undefiniertes Verhalten auf.

  • Diese API verfügt über eine undefinierte Interaktion mit integrierten Und-Drittanbieter-Farbkalibrierungslösungen.

Für die Farbkalibrierung empfiehlt es sich, ein ICC-Profil (International Color Consortium) zu erstellen und das Profil vom Betriebssystem anwenden zu lassen. Für erweiterte OEM-Szenarien (Original Equipment Manufacturer) gibt es ein Gerätetreibermodell, mit dem Sie die Farbkalibrierung direkter anpassen können. Informationen zum Verwalten von Farbprofilen finden Sie im Windows-Farbsystem .

Für die Blaulichtfilterung bietet Windows jetzt integrierte Unterstützung namens Nachtlicht. Es wird empfohlen, Benutzer zu diesem Feature weiterzuleiten.

Für die Farbanpassung (z. B. anpassung der Farbkalibrierung anhand von Umgebungslichtsensoren) bietet Windows jetzt integrierte Unterstützung, die wir für die Verwendung durch OEMs empfehlen.

Für benutzerdefinierte Filtereffekte gibt es eine Vielzahl von integrierten Farbfiltern für die Barrierefreiheit, um eine Reihe von Fällen zu unterstützen.

Syntax

BOOL SetDeviceGammaRamp(
  HDC    hdc,
  LPVOID lpRamp
);

Parameter

hdc

Gibt den Gerätekontext der betreffenden Anzeigetafel für direkte Farben an.

lpRamp

Zeiger auf einen Puffer, der die festzulegende Gammarampe enthält. Die Gammarampe wird in drei Arrays von jeweils 256 WORD-Elementen angegeben, die die Zuordnung zwischen RGB-Werten im Framepuffer und DAC-Werten (Digital-Analog-Converter) enthalten. Die Sequenz der Arrays ist rot, grün, blau. Die RGB-Werte müssen in den wichtigsten Bits jedes WORD gespeichert werden, um die DAC-Unabhängigkeit zu erhöhen.

Rückgabewert

Wenn diese Funktion erfolgreich ist, ist der Rückgabewert TRUE.

Wenn diese Funktion fehlschlägt, ist der Rückgabewert FALSE.

Hinweise

Die Anzeigemodi für direkte Farben verwenden keine Farbsuchtabellen und sind in der Regel 16, 24 oder 32 Bit. Nicht alle Direktfarbvideoboards unterstützen ladebare Gammarampen. SetDeviceGammaRamp ist nur für Geräte mit Treibern erfolgreich, die herunterladbare Gamma-Rampen in Hardware unterstützen.

Hinweis

Die Ausführung dieser API kann eine nicht triviale Zeit in Anspruch nehmen. Es kann bis zu 200 ms dauern, bis die Rückgabe auf irgendeiner Hardware erfolgt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wingdi.h
Bibliothek Gdi32.lib
DLL Gdi32.dll

Weitere Informationen