(winddi.h) 的 XLATEOBJ 结构
XLATEOBJ 结构用于将颜色索引从一个调色板转换为另一个调色板。
语法
typedef struct _XLATEOBJ {
ULONG iUniq;
FLONG flXlate;
USHORT iSrcType;
USHORT iDstType;
ULONG cEntries;
ULONG *pulXlate;
} XLATEOBJ;
成员
iUniq
一个缓存标识符,使驱动程序能够识别它之前缓存的 XLATEOBJ 结构。 如果此成员为零,则驱动程序不应缓存 XLATEOBJ 结构。
flXlate
指定有关翻译的提示的标志。 此成员可以是以下值的任意组合:
值 | 含义 |
---|---|
XO_DEVICE_ICM | 在设备上启用了 ICM。 驱动程序应根据 DrvIcmCreateColorTransform 创建的颜色转换来转换颜色。 驱动程序应调用 XLATEOBJ_hGetColorTransform 以获取颜色转换句柄。 此位与XO_HOST_ICM互斥。 |
XO_FROM_CMYK | 由于 ICM 转换,源索引将转换为 32 位 CMYK 颜色格式。 设置此位时,应忽略 iSrcType、 iDstType、 cEntries 和 pulXlate 。 |
XO_HOST_ICM | ICM 由图形引擎执行,因此此颜色表中的颜色将更正为目标图面。 此位由 GDI 设置为驱动程序的信息:驱动程序不需要执行任何操作。 此位与XO_DEVICE_ICM互斥。 |
XO_TABLE | 提供了一个表,用于将源索引转换为目标索引。 |
XO_TO_MONO | 源索引转换为单色格式,该格式具有特殊属性,所有索引都映射到零,但一个索引除外。 驱动程序可以使用此来加速块传输。 |
XO_TRIVIAL | 源索引可作为目标索引使用。 |
iSrcType
已过时。 使用 XLATEOBJ_cGetPalette 查询源格式。
iDstType
已过时。 使用 XLATEOBJ_cGetPalette 查询目标格式。
cEntries
指定 pulXlate 成员指向的数组中的条目数。 将值大于 cEntries 的 pulXlate 编制索引会导致内存访问冲突。
pulXlate
指向翻译条目数组的指针。
注解
目标调色板始终属于某些绘制操作的目标图面。 源调色板是应用程序选择的调色板或来自另一个图面的调色板。
XLATEOBJ 结构用于将引用源调色板的颜色索引转换为目标调色板的索引。 生成的索引标识尽可能与源颜色匹配的颜色。
要求
要求 | 值 |
---|---|
Header | winddi.h (包括 Winddi.h) |