增强型图元文件作

可以使用增强图元文件句柄来完成以下任务:

  • 显示存储在增强图元文件中的图片。
  • 创建增强型图元文件的副本。
  • 编辑增强型图元文件。
  • 检索存储在增强型图元文件中的可选说明。
  • 检索增强型图元文件标头的副本。
  • 检索增强型图元文件的二进制版本。
  • 枚举可选调色板中的颜色。

本主题其余部分将讨论这些任务。

显示存储在增强图元文件中的图片

可以使用 PlayEnhMetaFile 函数显示存储在增强图元文件中的图片。 将函数传递给增强的图元文件,而不涉及增强的图元文件记录的格式。 但是,有时需要枚举增强图元文件中的记录以搜索特定的 GDI 函数,并以某种方式修改函数的参数。 为此,可以使用 EnumEnhMetaFile 并提供回调函数(EnhMetaFileProc)来处理增强的图元文件记录。 若要修改增强型图元文件记录的参数,必须知道记录中的参数的格式。

创建增强型图元文件的副本

某些应用程序在允许用户更改原始副本之前创建文件的临时备份(或重复)副本。 应用程序可以通过调用 CopyEnhMetaFile 函数、提供标识增强图元文件的句柄以及提供指向新文件名称的指针来创建增强图元文件的备份副本。

若要创建基于内存的增强格式图元文件,请调用 SetEnhMetaFileBits 函数。

编辑增强型图元文件

大多数绘图、插图和计算机辅助设计(CAD)应用程序都需要编辑存储在增强图元文件中的图片的方法。 尽管编辑增强型图元文件是一项复杂的任务,但可以将 EnumEnhMetaFile 函数与其他函数结合使用,在应用程序中提供此功能。 EnumEnhMetaFile 函数及其关联的回调函数(EnhMetaFileProc)使应用程序能够处理增强型图元文件中的各个记录。

检索存储在增强型图元文件中的可选说明

某些应用程序在 “打开”对话框中显示具有相应文件名的增强图元文件的文本说明。 可以通过使用 GetEnhMetaFileHeader 函数和检查其成员之一检索图元文件标头,来确定此字符串是否存在于增强型图元文件中。 如果该字符串存在,则应用程序通过调用 GetEnhMetaFileDescription 函数来检索它。

检索增强型图元文件的二进制版本

可以通过调用 GetEnhMetaFileBits 函数来检索图元文件的内容;但是,在检索内容之前,必须指定文件的大小。 若要获取大小,可以使用 GetEnhMetaFileHeader 函数并检查相应的成员。

枚举可选调色板中的颜色

若要在各种输出设备上显示图片时实现一致颜色,可以调用 CreatePalette 函数,并将逻辑调色板存储在增强的图元文件中。 显示增强图元文件中存储的图片的应用程序将检索此调色板,并在显示图片之前调用 RealizePalette 函数。 若要确定调色板是否存储在增强的图元文件中,请检索图元文件标头并检查相应的成员。 如果存在调色板,则可以调用 GetEnhMetaFilePaletteEntries 函数来检索逻辑调色板。