(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 颜色格式。 设置此位时,应忽略 iSrcTypeiDstTypecEntriespulXlate
XO_HOST_ICM ICM 由图形引擎执行,因此此颜色表中的颜色将更正为目标图面。 此位由 GDI 设置为驱动程序的信息:驱动程序不需要执行任何操作。 此位与XO_DEVICE_ICM互斥。
XO_TABLE 提供了一个表,用于将源索引转换为目标索引。
XO_TO_MONO 源索引转换为单色格式,该格式具有特殊属性,所有索引都映射到零,但一个索引除外。 驱动程序可以使用此来加速块传输。
XO_TRIVIAL 源索引可作为目标索引使用。

iSrcType

已过时。 使用 XLATEOBJ_cGetPalette 查询源格式。

iDstType

已过时。 使用 XLATEOBJ_cGetPalette 查询目标格式。

cEntries

指定 pulXlate 成员指向的数组中的条目数。 将值大于 cEntriespulXlate 编制索引会导致内存访问冲突。

pulXlate

指向翻译条目数组的指针。

注解

目标调色板始终属于某些绘制操作的目标图面。 源调色板是应用程序选择的调色板或来自另一个图面的调色板。

XLATEOBJ 结构用于将引用源调色板的颜色索引转换为目标调色板的索引。 生成的索引标识尽可能与源颜色匹配的颜色。

要求

要求
Header winddi.h (包括 Winddi.h)

另请参阅

DrvIcmCreateColorTransform

XLATEOBJ_cGetPalette

XLATEOBJ_hGetColorTransform

XLATEOBJ_piVector