LOGCOLORSPACEA 结构 (wingdi.h)
LOGCOLORSPACE 结构包含定义逻辑颜色空间的信息。
语法
typedef struct tagLOGCOLORSPACEA {
DWORD lcsSignature;
DWORD lcsVersion;
DWORD lcsSize;
LCSCSTYPE lcsCSType;
LCSGAMUTMATCH lcsIntent;
CIEXYZTRIPLE lcsEndpoints;
DWORD lcsGammaRed;
DWORD lcsGammaGreen;
DWORD lcsGammaBlue;
CHAR lcsFilename[MAX_PATH];
} LOGCOLORSPACEA, *LPLOGCOLORSPACEA;
成员
lcsSignature
颜色空间签名。 目前,应始终将此成员设置为 LCS_SIGNATURE。
lcsVersion
版本号;必须0x400。
lcsSize
此结构的大小(以字节为单位)。
lcsCSType
颜色空间类型。 成员可以是以下值之一。
值 | 含义 |
---|---|
LCS_CALIBRATED_RGB | 颜色值是经过校准的 RGB 值。 在传递到设备之前,将使用 lcsEndpoints 成员指定的终结点转换这些值。 |
LCS_sRGB | 颜色值是 sRGB 值。 |
LCS_WINDOWS_COLOR_SPACE | 颜色值是 Windows 默认颜色空间颜色值。 |
如果未指定LCS_CALIBRATED_RGB,则忽略 lcsEndpoints 成员。
lcsIntent
域映射方法。 此成员可以是以下值之一。
“值” | Intent | ICC 名称 | 含义 |
---|---|---|---|
LCS_GM_ABS_ |
匹配 | 绝对色度 | 保持白点。 将颜色与目标色域中最接近的颜色匹配。 |
LCS_GM_ |
Graphic | 饱和度 | 保持饱和度。 用于业务图表和需要非抖变颜色的其他情况。 |
LCS_GM_ |
Proof | 相对色度 | 维护比色匹配。 用于图形设计和命名颜色。 |
LCS_GM_ |
图片 | 感性 | 保持对比度。 用于照片和自然图像。 |
lcsEndpoints
红色、绿色、蓝色终结点。
lcsGammaRed
红色坐标的比例。
lcsGammaGreen
绿色坐标的比例。
lcsGammaBlue
蓝色坐标的比例。
lcsFilename[MAX_PATH]
一个以 null 结尾的字符串,用于命名颜色配置文件。 此成员通常设置为零,但可用于将颜色空间设置为完全由颜色配置文件指定的颜色空间。 这对于为特定打印机输入颜色值的设备或使用可安装的图像颜色匹配器时非常有用。 如果指定了颜色配置文件,则应将此结构的所有其他成员设置为合理的值,即使这些值并不完全准确。
注解
与调色板一样,但与笔和画笔不同,在创建 LogColorSpace 时必须传递指针。
如果 lcsCSType 成员设置为 LCS_sRGB 或 LCS_WINDOWS_COLOR_SPACE,则忽略此结构的其他成员,WCS 使用 sRGB 颜色空间。 lcsEndpoints、lcsGammaRed、lcsGammaGreen 和 lcsGammaBlue 成员用于描述逻辑颜色空间。 lcsEndpoints 成员是 CIEXYZTRIPLE,其中包含颜色空间 RGB 终结点的 x、y 和 z 值。
lcsGammaRed、lcsGammaGreen 和 lcsGammaBlue 所需的 DWORD 位格式是 8 位左移 8 位的 8.8 定点整数。 这意味着 8 个整数位后跟 8 个小数位。 考虑到位移,32 位 DWORD 的所需格式为:
00000000nnnnnnnnffffff0000000
每当 lcsFilename 成员包含文件名且 lcsCSType 成员设置为 LCS_CALIBRATED_RGB时,WCS 将忽略此结构的其他成员。 它使用文件中的颜色空间作为此 LOGCOLORSPACE 结构所引用的颜色空间。
三刺激值 X、Y、Z 和色度值 x、y、z 之间的关系如下所示:
x = X/ (X+Y+Z)
y = Y/ (X+Y+Z)
z = Z/ (X+Y+Z)
如果 lcsCSType 成员设置为 LCS_sRGB 或 LCS_WINDOWS_COLOR_SPACE,则忽略此结构的其他成员,并且 ICM 使用 sRGB 颜色空间。 应用程序仍应初始化结构的其余部分,因为 CreateProfileFromLogColorSpace 忽略 lcsCSType 成员,并使用 lcsEndpoints、lcsGammaRed、lcsGammaGreen、lcsGammaBlue 成员来创建配置文件,在LCS_sRGB或LCS_WINDOWS_COLOR_SPACE颜色空间的情况下,该配置文件可能无法初始化。
注意
wingdi.h 标头将 LOGCOLORSPACE 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
标头 | wingdi.h |