增强的图元文件操作
可以使用增强型图元文件的句柄来完成以下任务:
- 显示存储在增强型图元文件中的图片。
- 创建增强型图元文件的副本。
- 编辑增强型图元文件。
- 检索存储在增强型图元文件中的可选说明。
- 检索增强型图元文件标头的副本。
- 检索增强型图元文件的二进制版本。
- 枚举可选调色板中的颜色。
本主题其余部分将讨论这些任务。
显示存储在增强型图元文件中的图片
可以使用 PlayEnhMetaFile 函数显示存储在增强型图元文件中的图片。 将函数的句柄传递给增强型图元文件,而不考虑增强型图元文件记录的格式。 但是,有时需要枚举增强型图元文件中的记录,以搜索特定的 GDI 函数并以某种方式修改函数的参数。 为此,可以使用 EnumEnhMetaFile 并提供回调函数 EnhMetaFileProc 来处理增强型图元文件记录。 若要修改增强型图元文件记录的参数,必须知道记录中参数的格式。
创建增强型图元文件的副本
某些应用程序创建临时备份 (或复制文件) 副本,然后允许用户更改原始文件。 应用程序可以通过调用 CopyEnhMetaFile 函数、提供标识增强型图元文件的句柄以及提供指向新文件名称的指针来创建增强型图元文件的备份副本。
若要创建基于内存的增强格式图元文件,请调用 SetEnhMetaFileBits 函数。
编辑增强型图元文件
大多数绘图、插图和计算机辅助设计 (CAD) 应用程序都需要编辑存储在增强型图元文件中的图片。 尽管编辑增强型图元文件是一项复杂的任务,但可以将 EnumEnhMetaFile 函数与其他函数结合使用,在应用程序中提供此功能。 EnumEnhMetaFile 函数及其关联的回调函数 EnhMetaFileProc 使应用程序能够处理增强型图元文件中的单个记录。
检索存储在增强型图元文件中的可选说明
某些应用程序在“ 打开 ”对话框中显示具有相应文件名的增强型图元文件的文本说明。 通过使用 GetEnhMetaFileHeader 函数检索图元文件标头并检查其成员之一,可以确定增强型图元文件中是否存在此字符串。 如果该字符串存在,应用程序将通过调用 GetEnhMetaFileDescription 函数来检索它。
检索增强型图元文件的二进制版本
可以通过调用 GetEnhMetaFileBits 函数来检索图元文件的内容;但是,在检索内容之前,必须指定文件的大小。 若要获取大小,可以使用 GetEnhMetaFileHeader 函数并检查相应的成员。
枚举可选调色板中的颜色
若要在各种输出设备上显示图片时实现一致的颜色,可以调用 CreatePalette 函数并将逻辑调色板存储在增强型图元文件中。 显示存储在增强型图元文件中的图片的应用程序检索此调色板,并在显示图片之前调用 RealizePalette 函数。 若要确定调色板是否存储在增强型图元文件中,请检索图元文件标头并检查相应的成员。 如果存在调色板,则可以调用 GetEnhMetaFilePaletteEntries 函数来检索逻辑调色板。