HT_ComputeRGBGammaTable函式 (winddi.h)
HT_ComputeRGBGammaTable函式會導致 GDI 根據 gamma 數位計算裝置紅色、綠色和藍色濃度。
語法
LONG HT_ComputeRGBGammaTable(
[in] USHORT GammaTableEntries,
[in] USHORT GammaTableType,
[in] USHORT RedGamma,
[in] USHORT GreenGamma,
[in] USHORT BlueGamma,
[out] LPBYTE pGammaTable
);
參數
[in] GammaTableEntries
針對每個紅色、綠色和藍色濃度,指定資料表中的步驟總數。 此值必須大於 1 且小於或等於 256 (,也就是 2 < = GammaTableEntries< = 256) 。 例如,值為 256 表示 gamma 資料表中有 256 個紅色專案、256 個綠色專案,以及 256 個藍色專案。
[in] GammaTableType
指定 pGammaTable的組織。 有效的資料表類型包括:
GammaTableType | 意義 |
---|---|
0 | gamma 資料表的紅色、綠色和藍色值會交錯在一起。 每個 gamma 步驟都是 3 個位元組;每個位元組各有 1 個位元組,分別代表紅色、綠色和藍色。 |
1 | 紅色、綠色和藍色資料表會分開封裝;也就是說,整個紅色資料表後面接著整個綠色資料表,後面接著整個藍色資料表。 個別專案各有 1 個位元組,讓每個子資料工作表長度為 GammaTableEntries 位元組總數。 |
[in] RedGamma
指定紅色 gamma 值。 這個 USHORT 值會解譯為實數,其四個最小有效位數位于 (隱含) 小數點右邊。 例如,gamma 值為 10000 代表實際數位 1.0000,而 12345 則代表 1.2345。 允許的最小 gamma 值為 0.0000,允許的最大值為 6.5535。
[in] GreenGamma
指定綠色 gamma 值。 這個 USHORT 值會解譯為實數,其四個最小有效位數位于 (隱含) 小數點右邊。 例如,gamma 值為 10000 代表實際數位 1.0000,而 12345 則代表 1.2345。 允許的最小 gamma 值為 0.0000,允許的最大值為 6.5535。
[in] BlueGamma
指定藍色 gamma 值。 這個 USHORT 值會解譯為實數,其四個最小有效位數位于 (隱含) 小數點右邊。 例如,gamma 值為 10000 代表實際數位 1.0000,而 12345 則代表 1.2345。 允許的最小 gamma 值為 0.0000,允許的最大值為 6.5535。
[out] pGammaTable
將寫入 gamma 資料表紅色、綠色和藍色濃度的位元組陣列指標。 傳回的資料表會依照 GammaTableType 參數所指定來組織。
傳回值
傳回值是寫入 pGammaTable的 gamma 專案數目;成功時,此值等於 GammaTableEntries。 如果 GammaTableEntries 小於 2 或大於 256,則傳回值為 0。
pGammaTable中傳回的紅色、綠色和藍色濃度從 0 到 255。
備註
GDI 半色調服務常式會使用特殊調色盤來執行半形。 如果裝置從 16 位或 24 位類型介面的 24 位裝置色彩集區中選取 8 位的圖元調色盤,GDI 會假設紅色、綠色和藍色步驟;每個都有相等的亮度。
GDI 提供這項服務,讓驅動程式可以查詢 GDI 所使用的每圖元半色調調色盤 8 位,或計算裝置的更正和相等 RGB 色彩濃度。
規格需求
最低支援的用戶端 | 可在 Windows 2000 和更新版本的 Windows 作業系統中使用。 |
目標平台 | Universal |
標頭 | winddi.h (包括 Winddi.h) |
程式庫 | Win32k.lib |
Dll | Win32k.sys |