增强的图元文件创建

使用 CreateEnhMetaFile 函数创建增强型图元文件,并提供相应的参数。 系统使用这些参数来维护图片尺寸,确定图元文件是应存储在磁盘上还是存储在内存中,等等。

若要跨输出设备维护图片尺寸,CreateEnhMetaFile 需要参考设备的分辨率。 此 参考设备 是首次显示图片的设备,引用 DC 是与引用设备关联的 设备 上下文。 调用 CreateEnhMetaFile 函数时,必须提供标识此 DC 的句柄。 可以通过调用 GetDCCreateDC 函数来获取此句柄。 还可以将 NULL 指定为引用设备的当前显示设备的句柄。

大多数应用程序永久存储图片,因此创建存储在磁盘上的增强图元文件;但是,如果不需要,则存在一些情况。 例如,提供图表绘制功能的字处理应用程序可以将用户定义的图表作为增强的图元文件存储在内存中,然后将增强型图元文件位从内存复制到用户的文档文件中。 需要永久存储在磁盘上的图元文件的应用程序必须在调用 createEnhMetaFile时提供文件名。 如果未提供文件名,系统会自动将图元文件视为临时文件并将其存储在内存中。

可以将可选文本说明添加到包含有关图片和作者信息的图元文件。 应用程序可以在“文件打开”对话框中显示这些字符串,为用户提供有关图元文件内容的信息,以帮助选择相应的文件。 如果应用程序包含文本说明,则当应用程序调用 CreateEnhMetaFile时,它必须提供指向字符串的指针。

CreateEnhMetaFile 成功时,它将返回标识特殊图元文件设备上下文的句柄。 图元文件设备上下文是唯一的,因为它与文件相关联,而不是与输出设备相关联。 当系统处理接收图元文件设备上下文句柄的 GDI 函数时,它将 GDI 函数转换为增强型图元文件记录,并将该记录追加到增强图元文件末尾。

图片完成后,最后一条记录追加到增强的图元文件后,应用程序可以通过调用 CloseEnhMetaFile 函数来关闭文件。 此函数关闭并删除特殊的图元文件设备上下文,并返回标识增强图元文件的句柄。

若要删除增强格式的图元文件或增强格式图元文件句柄,请调用 DeleteEnhMetaFile 函数。