增强的图元文件记录
增强型图元文件是记录数组。 图元文件记录是可变长度 的 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常量。
有关其他记录类型的列表,请参阅 图元文件结构。