SetDeviceGammaRamp 関数 (wingdi.h)
SetDeviceGammaRamp 関数は、ハードウェアでダウンロード可能なガンマ ランプをサポートするドライバーを持つ直接カラー ディスプレイ ボードにガンマ ランプを設定します。
重要
この API は使用しないことを強くお勧めします。 この API の使用には、主な制限事項があります。
SetDeviceGammaRamp はヒューリスティックを実装して、指定されたランプが読み取り不可能な画面になるかどうかをチェックします。 ランプがこれらのヒューリスティックに違反している場合、関数はサイレントモードで失敗します (つまり、 TRUE を返しますが、ランプは設定されません)。 そのため、この関数を使用して任意のガンマランプ だけを 設定することは期待できません。 特にヒューリスティックでは、ほぼすべてのピクセルが 1 つの値 (全画面表示の黒/白など) に近づくランプを防ぎます。これにより、ユーザーが画面を回復できなくなる可能性があります。
関数のグローバルな性質上、システム上の他のアプリケーションは、設定したランプをいつでも上書きできます。 場合によっては、オペレーティング システム自体でこの機能の使用が予約され、既存のランプが上書きされることがあります。 ガンマ ランプは、ほとんどのディスプレイ イベント (モニターの接続/切断、解像度の変更など) でもリセットされます。 そのため、設定したランプが有効であることを確信することはできません。
この API には、HDR モードでの未定義の動作があります。
この API は、組み込みおよびサードパーティのカラー調整ソリューションの両方との未定義の相互作用を持っています。
カラー調整の場合は、INTERNATIONAL Color Consortium (ICC) プロファイルを作成し、OS にプロファイルを適用することをお勧めします。 高度なオリジナル機器メーカー (OEM) のシナリオでは、色調整をより直接カスタマイズするために使用できるデバイス ドライバー モデルがあります。 カラー プロファイルの管理については、 Windows カラー システム に関するページを参照してください。
青いライトフィルター処理の場合、Windows では Night Light と呼ばれる組み込みのサポートが提供されるようになりました。 この機能にユーザーを誘導することをお勧めします。
色の適応 (環境光センサーに基づく色調整の調整など) の場合、Windows では組み込みのサポートが提供されるようになりました。このサポートは OEM で使用することをお勧めします。
カスタム フィルター効果には、さまざまなケースに役立つさまざまな組み込みのアクセシビリティ カラー フィルター があります。
構文
BOOL SetDeviceGammaRamp(
HDC hdc,
LPVOID lpRamp
);
パラメーター
hdc
問題の直接カラー ディスプレイ ボードのデバイス コンテキストを指定します。
lpRamp
設定するガンマ ランプを含むバッファーへのポインター。 ガンマ ランプは、それぞれ 256 個の WORD 要素の 3 つの配列で指定されます。この配列には、フレーム バッファー内の RGB 値とデジタル アナログ コンバーター (DAC ) 値の間のマッピングが含まれます。 配列のシーケンスは赤、緑、青です。 DAC の独立性を高めるために、各 WORD の最上位ビットに RGB 値を格納する必要があります。
戻り値
この関数が成功した場合、戻り値は TRUE になります。
この関数が失敗した場合、戻り値は FALSE になります。
注釈
直接カラー表示モードでは、色参照テーブルは使用されず、通常は 16、24、または 32 ビットです。 すべての直接カラービデオボードがロード可能なガンマランプをサポートしているわけではありません。 SetDeviceGammaRamp は、ハードウェアでダウンロード可能なガンマ ランプをサポートするドライバーを持つデバイスでのみ成功します。
注意
この API の実行には、簡単ではない時間がかかる場合があります。 一部のハードウェアで返されるまでに 200 ミリ秒かかる場合があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wingdi.h |
Library | Gdi32.lib |
[DLL] | Gdi32.dll |