WcsCreateIccProfile 函数 (icm.h)

将 WCS 配置文件转换为国际颜色联盟 (ICC) 配置文件。

语法

HPROFILE WcsCreateIccProfile(
  HPROFILE hWcsProfile,
  DWORD    dwOptions
);

parameters

hWcsProfile

转换后的 WCS 颜色配置文件的句柄。 请参阅“备注”。

dwOptions

一个指定配置文件转换选项的标志值。

默认情况下,用于转换的原始 WCS 配置文件嵌入到 Microsoft 专用标记 WcsProfilesTag (的输出 ICC 配置文件中,签名为“MS000”。 这会生成一个与 ICC 软件兼容的 ICC 配置文件,但保留可用于设计用于分析它的代码的原始 WCS 配置文件数据。

此参数的可能值如下所示。 此列表中未定义的任何位都是保留的,应设置为零:

说明
WCS_DEFAULT 指定新的 ICC 配置文件包含专用 WcsProfilesTag 中的原始 WCS 配置文件。
WCS_ICCONLY 指定新的 ICC 配置文件不包含 WcsProfilesTag 或原始 WCS 配置文件。

返回值

如果此函数成功,则返回值是新颜色配置文件的句柄。

如果此函数失败,则返回值为 NULL。 有关扩展的错误信息,请调用 GetLastError

注解

此函数可与 ASCII 或 Unicode 字符串一起使用。

当不再需要时,应使用 CloseColorProfile 函数关闭返回的 HPROFILE 句柄。

HPROFILE 中的 DMP、CAMP 和 GMMP 嵌入在创建的 ICC 配置文件中的专用标记中。

使用此 API 创建的 ICC 配置文件将具有根据以下模式从 WCS 配置文件的 ProfileName 元素构造的配置文件说明标记:“由 Microsoft WCS 从 DMP 创建:[DMP ProfileName]、CAMP:[CAMP ProfileName]、GMMP:[GMMP ProfileName]”

当 WCS 通过 OpenColorProfileWWcsOpenColorProfileW ) 遇到此 ICC 配置文件 (时,它将提取并使用 WcsProfilesTag 中包含的 WCS 配置文件 () 。

在 WCS 中创建的色域标记中的色域外信息使用 CIECAM02 中的感知颜色距离,即 CIECAM02 Jab 空间中的均平方根。 旧版 ICC 配置文件范围标记中的距离是 CIELAB 空间中的均平方根。 建议使用 CIECAM02 空间(如果可用),以提供更准确的距离指标。

WCS 通过与设备显式关联的 XML 配置文件或具有WcsProfilesTag 的 ICC 配置文件提取并使用原始 WCS 配置文件。

WcsProfilesTag 是在 WcsCreateIccProfile 创建的配置文件中使用的 Microsoft 专用 ICC 配置文件标记,用于包含输入到 WcsCreateIccProfile 的 WCS 配置文件。 此标记符合配置文件标记的 ICC 配置文件要求。 标记的非 XML 组件必须采用“Big-Endian”字节顺序,这是 ICC 配置文件的标准。 此外,标记数据必须在 4 字节边界上对齐, (从 ICC 配置文件) 开始测量。 标记的结构由下面的 WcsProfilesTagType 定义。 请注意,标记的 XML 组件(包含在 WcsProfileTag 中的 WCS 配置文件)保留在其本机字节排序中,这可以是 little-endian 或 big-endian,因为 XML 分析程序可以正确处理。

WcsProfilesTag 签名为“MS00”。 这是将显示在 WcsProfilesTag 的 ICC 配置文件标记表中的标记签名。

WcsProfilesTagType 结构具有以下结构:

字节偏移量 Content
0-3 MS10 类型签名。
4-7 保留,必须设置为 0 (ICC 传统) 。
8-11 从标记开头到 CDMP 数据的字节偏移量。
12-15 CDMP 数据的大小(以字节为单位)。
16-19 从标记开头到 CAMP 数据的字节偏移量。
20-23 CAMP 数据的大小(以字节为单位)。
24-27 从标记开头到 GMMP 数据的字节偏移量。
28-31 从标记开头到 GMMP 数据的字节偏移量。
31-n (元素大小为 -32) 字节的序列 [其中元素大小是在此标记的 ICC 配置文件标记表条目中记录的标记大小。]

这些是 WcsCreateIccProfile 用于创建此 ICC 配置文件的 WCS XML 配置文件。 WCS 配置文件是有序的:首先需要 DMP () ,然后是 CAMP ((如果存在) ),然后是 GMMP ((如果存在) )。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 icm.h
Library Mscms.lib
DLL Mscms.dll

另请参阅