SetDeviceGammaRamp 函式 (wingdi.h)
SetDeviceGammaRamp 函式會在直接色彩顯示器面板上設定 gamma 坡形,其驅動程式支援硬體中可下載的 Gamma 坡形。
重要
強烈建議您不要使用此 API。 使用此 API 受限於主要限制:
SetDeviceGammaRamp 會實作啟發學習法,以檢查提供的坡道是否會導致無法讀取的畫面。 如果坡形違反這些啟發學習法,則函式會以無訊息方式 (失敗,也就是傳回 TRUE,但不會設定您的坡道) 。 基於這個理由,您無法預期使用此函式只設定 任何任意 Gamma 坡形。 特別是,啟發學習法可防止導致幾乎所有圖元接近單一值 (,例如全螢幕黑色/白色) ,因為這可能會防止用戶復原螢幕。
由於函式的全域本質,系統上的任何其他應用程式隨時都可以覆寫您已設定的任何坡形。 在某些情況下,操作系統本身可能會保留使用此函式,導致覆寫任何現有的坡形。 大部分的顯示事件也會重設 gamma 坡形, (連接/中斷監視、解析變更等 ) 。 因此,您無法確定您設定的任何坡道都生效。
此 API 在 HDR 模式中具有未定義的行為。
此 API 與內建和第三方色彩校正解決方案都未定義互動。
針對色彩校正,建議您建立國際色彩聯盟 (ICC) 配置檔,並讓 OS 套用配置檔。 針對進階原始設備製造商 (OEM) 案例,有一個裝置驅動程式模型,可讓您更直接用來自定義色彩校正。 如需管理色彩配置文件的資訊,請參閱 Windows 色彩系統 。
針對藍色光線篩選,Windows 現在提供稱為 「夜間燈」的內建支援。 我們建議將用戶導向此功能。
例如,針對色彩調適 (,根據環境光線感測器調整色彩校正) ,Windows 現在提供內建支援,我們建議 OEM 使用。
針對自定義篩選效果,有各種不同的內建輔助功能 色彩篩選 條件,可協助處理各種案例。
語法
BOOL SetDeviceGammaRamp(
HDC hdc,
LPVOID lpRamp
);
參數
hdc
指定有問題的直接色彩顯示面板的裝置內容。
lpRamp
緩衝區的指標,其中包含要設定的 gamma 坡形。 gamma 坡形會分別以三個 256 個 WORD 元素的陣列指定,每個數位類比框架緩衝區中的 RGB 值與數位模擬轉換器之間的對應 (DAC ) 值。 陣列序列為紅色、綠色、藍色。 RGB 值必須儲存在每個 WORD 的最顯著位,以增加 DAC 獨立性。
傳回值
如果此函式成功,則傳回值為 TRUE。
如果此函式失敗,則傳回值為 FALSE。
備註
直接色彩顯示模式不使用色彩查閱表格,而且通常是16、24或32位。 並非所有直接色彩視訊板都支援可載入的 Gamma 坡形。 SetDeviceGammaRamp 僅適用於支持硬體中可下載之 gamma 坡形的裝置。
注意
此 API 可能需要一段時間才能執行。 可能需要 200 毫秒才能在某些硬體上傳回。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | wingdi.h |
程式庫 | Gdi32.lib |
Dll | Gdi32.dll |