增强的图元文件创建
可以使用 CreateEnhMetaFile 函数创建增强型图元文件,并提供相应的参数。 系统使用这些参数来维护图片尺寸,确定图元文件应存储在磁盘上还是内存中,等等。
若要跨输出设备维护图片尺寸, CreateEnhMetaFile 需要参考设备的分辨率。 此 参考设备 是首次显示图片的设备, 参考 DC 是与参考 设备关联的设备上下文 。 调用 CreateEnhMetaFile 函数时,必须提供标识此 DC 的句柄。 可以通过调用 GetDC 或 CreateDC 函数来获取此句柄。 还可以指定 NULL 作为句柄,以将当前显示设备用于参考设备。
大多数应用程序永久存储图片,因此创建存储在磁盘上的增强型图元文件;但是,某些情况下不需要这样做。 例如,提供图表绘制功能的字处理应用程序可以将用户定义的图表作为增强型图元文件存储在内存中,然后将增强型图元文件位从内存复制到用户的文档文件中。 需要永久存储在磁盘上的图元文件的应用程序在调用 CreateEnhMetaFile 时必须提供文件名。 如果不提供文件名,系统会自动将图元文件视为临时文件并将其存储在内存中。
可以将可选文本说明添加到包含图片和作者相关信息的图元文件。 应用程序可以在“文件打开”对话框中显示这些字符串,以便为用户提供有关图元文件内容的信息,有助于选择相应的文件。 如果应用程序包含文本说明,则必须在调用 CreateEnhMetaFile 时提供指向字符串的指针。
当 CreateEnhMetaFile 成功时,它将返回标识特殊图元文件设备上下文的句柄。 图元文件设备上下文是唯一的,因为它与文件关联,而不是与输出设备关联。 当系统处理接收图元文件设备上下文句柄的 GDI 函数时,它会将 GDI 函数转换为增强型图元文件记录,并将该记录追加到增强型图元文件的末尾。
完成图片并将最后一条记录追加到增强型图元文件后,应用程序可以通过调用 CloseEnhMetaFile 函数关闭该文件。 此函数关闭并删除特殊图元文件设备上下文,并返回标识增强型图元文件的句柄。
若要删除增强格式图元文件或增强格式图元文件句柄,请调用 DeleteEnhMetaFile 函数。