类型定义结构体_CONVERSION_PARAMS
{
L_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;
这个结构的大小。
主动转换方法。可能的值应该是以下一个且只有一个:
价值 | 意义 |
---|---|
USE_BUILTIN | 对于方程。 |
USE_ICC | [2]配置文件。 |
USE_CUSTOM_ICC | [4]自定义配置文件。 |
USE_ET | [8]模拟表。 |
USE_CUSTOM_ET | [16]用于自定义仿真表 |
USE_AUTO | [32]最佳转换。由于nMethod成员可以包含多个转换方法,因此使用该成员来确定在转换过程中使用哪个方法。 |
指向WHITEPOINT描述白点的结构。
包含输入配置文件名称的字符串,与USE_CUSTOM_ICC活动转换方法(nActiveMethod成员)一起使用。
指向MEMICCPROFILE结构,该结构包含有关将用作输入概要文件的输入内存概要文件的信息。
包含输出配置文件名称的字符串,与USE_CUSTOM_ICC活动转换方法(nActiveMethod成员)一起使用。
指向MEMICCPROFILE结构,该结构包含有关将用作输出配置文件的输入内存配置文件的信息。
包含用于模拟的目标映像名称的字符串,与USE_CUSTOM_ICC活动转换方法一起使用。
指向CMYK_PARAMS描述CMYK转换特性的结构。如果该参数为NULL,则采用默认值。
指向YUV参数描述了YUV转换特性的结构。如果该参数为NULL,则采用默认值。
指向实验参数结构,描述CIELab转换属性。如果该参数为NULL,则采用默认值。
转换方法时,转换方法与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]改变以上的一切。 |
量化等级,必须是8级。
用于控制颜色转换行为的标志。缺省值为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、sOutputProfile、pMemInputProfile和pMemOutputProfile),内存概要文件将获得最高优先级。因此,如果同时设置了sInputProfile和pMemInputProfile,那么只有在pMemInputProfile中指定的源才会被使用。此外,如果只提供了源概要文件(文件或内存),而没有目标概要文件,ICC引擎将使用默认的目标概要文件。
当使用USE_ICC或USE_CUSTOM_ICC时,ICC配置文件表中不存在的任何颜色将被计算为最接近颜色的平均值。如果任何颜色组件超出范围(即高于其最大值或低于其最小值),该值将被裁剪到指定颜色空间中该组件的最大/最小值。