ColorMatchToTarget 函数 (wingdi.h)

ColorMatchToTarget 函数使你能够预览颜色,就像它们显示在目标设备上一样。

语法

BOOL ColorMatchToTarget(
  HDC   hdc,
  HDC   hdcTarget,
  DWORD action
);

参数

hdc

指定要预览的设备上下文,通常为屏幕。

hdcTarget

指定目标设备上下文,通常是打印机。

action

可具有以下值之一的常量。

 

含义
CS_ENABLE
将颜色映射到目标设备的色域。 这将启用颜色校对。 对 DC 的所有后续绘制命令都将呈现颜色,就像它们在目标设备上一样。
CS_DISABLE
禁用颜色校对。
CS_DELETE_TRANSFORM
如果为目标配置文件启用了颜色管理,请禁用它并删除串联的转换。

返回值

如果此函数成功,则返回值为 TRUE

如果此函数失败,则返回值为 FALSE

注解

ColorMatchToTarget 可用于在另一个颜色输出设备上对颜色输出设备的颜色进行校对。 将 uiAction 参数设置为CS_ENABLE会导致所有后续绘图命令向 DC 呈现颜色,就像它们显示在目标设备上一样。 如果 uiAction 设置为“CS_DISABLE”,则关闭校对。 但是,当前颜色转换不会从 DC 中删除。 它只是处于非活动状态。

调用 ColorMatchToTarget 时,首先执行目标设备的颜色转换,然后对预览设备的转换应用于第一次转换的结果。 这主要用于检查域映射条件。 在使用此函数之前,必须为这两个设备上下文启用 WCS。

此函数不能级联。 虽然通过将 uiAction 设置为 CS_ENABLE 启用目标的颜色映射,但应用程序对颜色空间或色域映射方法的更改将被忽略。 然后,当禁用到目标的颜色映射时,这些更改将生效。

注意 如果应用程序不使用 CS_DELETE_TRANSFORM 删除转换,则不会发生内存泄漏。 关闭设备上下文 (DC) 或删除应用程序颜色空间时,将删除转换。 但是,如果不会再次使用转换,或者应用程序不会在 DC 上执行任何其他颜色匹配,则应显式删除转换以释放它占用的内存。
 
如果在调用 ColorMatchToTarget 函数之前启用了颜色管理,则仅应将 uiAction 参数设置为 CS_DELETE_TRANSFORM。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 wingdi.h
Library Gdi32.lib
DLL Gdi32.dll

另请参阅