Share via


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

另請參閱