HT_ComputeRGBGammaTable 函数 (winddi.h)
HT_ComputeRGBGammaTable函数导致 GDI 根据伽玛数计算设备的红色、绿色和蓝色强度。
语法
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 | 伽玛表的红色、绿色和蓝色值交错在一起。 每个伽玛步骤为 3 个字节;红色、绿色和蓝色各 1 字节。 |
1 | 红色、绿色和蓝色表分别包装:也就是说,整个红色表后跟整个绿色表,后跟整个蓝色表。 单个条目各为 1 字节,因此每个子表的总长度为 GammaTableEntries 字节。 |
[in] RedGamma
指定红色伽玛值。 此 USHORT 值被解释为实数,其四个最小有效位位于 (隐式) 小数点的右侧。 例如,10000 的 gamma 值表示实数 1.0000,12345 表示 1.2345。 允许的最小伽玛值为 0.0000,最大允许值为 6.5535。
[in] GreenGamma
指定绿色伽玛值。 此 USHORT 值被解释为实数,其四个最小有效位位于 (隐式) 小数点的右侧。 例如,10000 的 gamma 值表示实数 1.0000,12345 表示 1.2345。 允许的最小伽玛值为 0.0000,最大允许值为 6.5535。
[in] BlueGamma
指定蓝色伽玛值。 此 USHORT 值被解释为实数,其四个最小有效位位于 (隐式) 小数点的右侧。 例如,10000 的 gamma 值表示实数 1.0000,12345 表示 1.2345。 允许的最小伽玛值为 0.0000,最大允许值为 6.5535。
[out] pGammaTable
指向字节数组的指针,其中将写入伽玛表的红色、绿色和蓝色强度。 返回的表按 GammaTableType 参数指定的方式进行组织。
返回值
返回值是写入 pGammaTable 的 gamma 条目数;成功后,此值等于 GammaTableEntries。 如果 GammaTableEntries 小于 2 或大于 256,则返回值为 0。
pGammaTable 中返回的红色、绿色和蓝色强度范围为 0 到 255。
注解
GDI 半色调服务例程使用特殊调色板执行半调。 如果设备从 16 位或 24 位类型图面的 24 位设备颜色池中选择每像素 8 位调色板,则 GDI 采用红色、绿色和蓝色步骤;每个都具有相等的亮度。
GDI 提供此服务,以便驱动程序可以查询 GDI 使用的 8 位每像素半色调调色板,或计算设备的伽玛更正和均衡 RGB 颜色强度。
要求
最低受支持的客户端 | 适用于 Windows 2000 及更高版本的 Windows 操作系统。 |
目标平台 | 通用 |
标头 | winddi.h (包括 Winddi.h) |
Library | Win32k.lib |
DLL | Win32k.sys |