LOGCOLORSPACEW 结构 (wingdi.h)

LOGCOLORSPACE 结构 包含定义逻辑 颜色空间的信息。

语法

typedef struct tagLOGCOLORSPACEW {
  DWORD         lcsSignature;
  DWORD         lcsVersion;
  DWORD         lcsSize;
  LCSCSTYPE     lcsCSType;
  LCSGAMUTMATCH lcsIntent;
  CIEXYZTRIPLE  lcsEndpoints;
  DWORD         lcsGammaRed;
  DWORD         lcsGammaGreen;
  DWORD         lcsGammaBlue;
  WCHAR         lcsFilename[MAX_PATH];
} LOGCOLORSPACEW, *LPLOGCOLORSPACEW;

成员

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

域映射方法。 此成员可以是以下值之一。

价值 意图 ICC 名称 意义
LCS_GM_ABS_
 
色度
火柴 绝对色度 保持白点。 将颜色与目标域中最接近的颜色匹配。
LCS_GM_
 
图形 饱和 保持饱和度。 用于业务图表和其他需要未修改颜色的情况。
LCS_GM_
 
图形
证明 相对色度 保持色度匹配。 用于图形设计和命名颜色。
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 值。

lcsGammaRedlcsGammaGreenlcsGammaBlue 的 8.8 固定点整数左移 8 位。 这意味着 8 个整数位后跟 8 个分数位。 考虑到位移位,32 位 DWORD 的必需格式为:

00000000nnnnnnffffff0000000

每当 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

另请参阅

BITMAPV4HEADER

BITMAPV5HEADER

CMYK

RGB