增强的图元文件记录

增强型图元文件是记录数组。 图元文件记录是可变长度 的 ENHMETARECORD 结构。 每个增强型图元文件记录的开头都是一个 EMR 结构,其中包含两个成员。 第一个成员 iType 标识记录类型,即其参数包含在记录中的 GDI 函数。 由于结构长度可变,因此另一个成员 nSize 包含记录的大小。 紧跟在 nSize 成员之后是 GDI 函数的其余参数(如果有)。 结构的其余部分包含依赖于记录类型的其他数据。

增强型图元文件中的第一条记录始终是 ENHMETAHEADER 结构,即增强型图元文件标头。 标头指定以下信息:

  • 图元文件的大小(以字节为单位)
  • 图片框的尺寸(以设备单位为单位)
  • 图片框的尺寸(以 0.01 毫米为单位)
  • 图元文件中的记录数
  • 可选文本说明的偏移量
  • 可选调色板的大小
  • 原始设备的分辨率(以像素为单位)
  • 原始设备的分辨率(以毫米为单位)

可选文本说明可以跟在标题记录后面。 文本说明描述了图片和作者的姓名。 可选的调色板指定用于创建增强型图元文件的颜色。 其余记录标识用于创建图片的 GDI 函数。 以下十六进制输出对应于为调用 SetMapMode 函数生成的记录。

00000011 0000000C 00000004 

值0x00000011指定记录类型 (对应于文件 Wingdi.h) 中定义的EMR_SETMAPMODE常量。 值0x0000000C指定记录的长度(以字节为单位)。 值0x00000004标识映射模式 (对应于 SetMapMode 函数) 中定义的MM_LOENGLISH常量。

有关其他记录类型的列表,请参阅 图元文件结构