CONVERSION_PARAMS

类型定义结构体_CONVERSION_PARAMSL_UINTuStructSize;L_INTnActiveMethod;LPWHITEPOINTpWpoint;L_TCHARsInputProfile [L_MAXPATH];pMEMICCPROFILEpMemInputProfile;L_TCHARsOutputProfile [L_MAXPATH];pMEMICCPROFILEpMemOutputProfile;L_TCHARsDstInputTable [L_MAXPATH];LPCMYK_PARAMSpCmykParams;LPYUV_PARAMSpYuvParams;LPLAB_PARAMSpLabParams;L_INTnMethod;L_INTnQuantization;/*保留,必须为8*/L_UINTuFlags;} conversion_params, * lpconversion_params;

参数

uStructSize

这个结构的大小。

nActiveMethod

主动转换方法。可能的值应该是以下一个且只有一个:

价值 意义
USE_BUILTIN 对于方程。
USE_ICC [2]配置文件。
USE_CUSTOM_ICC [4]自定义配置文件。
USE_ET [8]模拟表。
USE_CUSTOM_ET [16]用于自定义仿真表
USE_AUTO [32]最佳转换。由于nMethod成员可以包含多个转换方法,因此使用该成员来确定在转换过程中使用哪个方法。

pWpoint

指向WHITEPOINT描述白点的结构。

sInputProfile

包含输入配置文件名称的字符串,与USE_CUSTOM_ICC活动转换方法(nActiveMethod成员)一起使用。

pMemInputProfile

指向MEMICCPROFILE结构,该结构包含有关将用作输入概要文件的输入内存概要文件的信息。

sOutputProfile

包含输出配置文件名称的字符串,与USE_CUSTOM_ICC活动转换方法(nActiveMethod成员)一起使用。

pMemOutputProfile

指向MEMICCPROFILE结构,该结构包含有关将用作输出配置文件的输入内存配置文件的信息。

sDstInputTable

包含用于模拟的目标映像名称的字符串,与USE_CUSTOM_ICC活动转换方法一起使用。

pCmykParams

指向CMYK_PARAMS描述CMYK转换特性的结构。如果该参数为NULL,则采用默认值。

pYuvParams

指向YUV参数描述了YUV转换特性的结构。如果该参数为NULL,则采用默认值。

pLabParams

指向实验参数结构,描述CIELab转换属性。如果该参数为NULL,则采用默认值。

nMethod

转换方法时,转换方法与L_ClrInit函数。可能取值为:

价值 意义
USE_BUILTIN [1]用于方程式(默认)。
USE_ICC [2]配置文件。
USE_CUSTOM_ICC [4]自定义配置文件。
USE_ET [8]模拟表。此选项仅对CMYK到RGB、RGB到CIELab和CIELab到RGB转换有效。
USE_CUSTOM_ET [16]用于自定义仿真表。此选项仅对CMYK到RGB、RGB到CIELab和CIELab到RGB转换有效。
USE_AUTO [32]最佳转换
USE_ALL [63]〔63〕

nMethod可以用多个转换方法初始化SDK。因此,nActiveMethod成员应该使用要使用的转换方法来设置。

使用L_ClrSetConversionParams通过为该成员指定CHANGE_ACTIVE_METHOD来在转换之间切换。

的转换方法使用时L_ClrSetConversionParams函数,可能的值为:

价值 意义
CHANGE_ACTIVE_METHOD [1]修改激活方式。
CHANGE_CUSTOM_PROFILES [2]修改配置文件。
CHANGE_WHITE_POINT [4]改变白点。
CHANGE_ET [8]修改模拟表。
CHANGE_CMYK [16]修改CMYK参数。
CHANGE_YUV [32]修改YUV参数。
CHANGE_LAB [64]更改LAB参数
CHANGE_ALL [127]改变以上的一切。

nQuantization

量化等级,必须是8级。

uFlags

用于控制颜色转换行为的标志。缺省值为0。目前唯一可用的标志是:

价值 意义
LTCLR_DISABLE_WHITE_POINT_ADJUSTMENT [0x0001]关闭自动白点调节。

ICC规范要求将白色转换为纯白。然而,一些配置文件将白色转换为灰白色(非常浅的灰色)。这样的配置文件可能会导致印刷领域的“墨点浮渣”问题(白纸上有许多小点)。

LEADTOOLS通过调整转换公式自动纠正这些问题,使白色转换为纯白色。

早期版本的LEADTOOLS不执行此转换。提供LTCLR_DISABLE_WHITE_POINT_ADJUSTMENT标志主要是为了向后兼容。

正确的做法是将uFlags设置为0。

您可以通过uFlags to LTCLR_DISABLE_WHITE_POINT_ADJUSTMENT获得类似于工具包早期版本的行为。

默认情况下,LEADTOOLS自动纠正打印世界中称为“墨点渣滓”的问题。自动校正导致白色转换为纯白色,即使ICC配置文件将白色转换为脏白色(如RGB(227,227,227))。如果您不希望白色自动转换为纯白色,您可以将uFlags设置为LTCLR_DISABLE_WHITE_POINT_ADJUSTMENT。

评论

如果转换是从CMYK到RGB或从RGB到CIELab,并且nActiveMethod成员被设置为USE_CUSTOM_ET,用户应该在sDstInputTable成员中指定图像的完整路径。下表显示了传递给sDstInputTable成员的模拟表中使用的图像尺寸:

转换 图像尺寸
CMYK到RGB 289x289 RGB TIF图片
RGB到CIELab 190x190 CIELab TIF图像
CIELab转RGB 190x190 RGB TIFF图像

有cmyk_src_image.tif, rgb_src_image.tif和lab_src_image.tif图像随库一起分发。可以使用任何工具将它们分别转换为RGB、CIELab和RGB等价物。

当使用自定义ICC引擎(在nMethod成员中设置USE_CUSTOM_ICC)时,有两种方法来指定源和/或目标配置文件:

输入和输出概要文件的任何组合都是允许的。例如,文件源概要可以与内存目标概要一起使用。

如果源概要文件和目标概要文件的四个选项都已设置(sInputProfile、sOutputProfile、pMemInputProfile和pMemOutputProfile),内存概要文件将获得最高优先级。因此,如果同时设置了sInputProfile和pMemInputProfile,那么只有在pMemInputProfile中指定的源才会被使用。此外,如果只提供了源概要文件(文件或内存),而没有目标概要文件,ICC引擎将使用默认的目标概要文件。

当使用USE_ICC或USE_CUSTOM_ICC时,ICC配置文件表中不存在的任何颜色将被计算为最接近颜色的平均值。如果任何颜色组件超出范围(即高于其最大值或低于其最小值),该值将被裁剪到指定颜色空间中该组件的最大/最小值。

颜色转换C API帮助
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。