Metafiles
元文件(Metafiles)是一个以设备无关格式存储图像的结构的集合。它可以有效的保持图像的原始尺寸。但它的显示速度没有位图快,如果应用程序要求高速的显示速度,并且对设备无关特性要求不是很严的话,应使用位图来存储和显示图像。
基本信息
- 中文名
元文件
- 外文名
Metafiles
- 类型
存储图像的集合
- 释义
一个可变长结构数组
关于元文件
为微软windows操作系统编写的应用程序可以使用两种图像工具来存储图像:元文件和位图。本节将描述元文件的信息。
在内部,元文件是一个可变长结构数组,称为:元文件记录(metafile records)。元文件中的第一个记录描述了一些公共的信息,比如:创建图像的设备的分辨率、图像的尺寸等等。剩下的记录则是用于描述图像的GDI函数操作记录。当元文件设备描述表(DC)被创建之后,GDI的操作记录就会被存储到元文件中。这个DC是被在创建图像期间所有的绘图操作所需要的。当windows处理一个与元文件DC相关联的GDI函数时,它将转换这个函数到适当的格式并以记录的形式追加(存储)到相关的元文件中。
当图像建立完毕,最后一个记录也加到元文件中之后,这个元文件就可以采用剪贴板来传递给其它的应用程序,或是嵌入到其它的文件中、存储到磁盘文件中,也可以用于以后重复显示之用。如果元文件的记录已经转换为设备命令并且已被适当的设备处理了,那么该元文件已经被显示了(played)。
有两种类型的元文件:增强型元文件和Windows型元文件。增强型元文件一般被用于用Win32 API编写的应用程序中。它的格式包括:元文件头、GDI目标的句柄表、私有调色板和元文件记录数组。增强型元文件提供真正的设备无关性。
Windows元文件一般用于用Windows version 3.X API编写的应用程序中。这种格式的元文件是由一个元文件头和元文件记录数组组成。Windows元文件在技术上有一定的限制,现在已经很少被使用了—它之所以现在还被支持,只是为了系统的兼容性。
增强型元文件
增强型元文件格式
================
程序员可以使用增强型元文件来存储用Win32 GDI函数创建的图像(包括新的路径和转换函数)。因为增强型元文件对于Win32 API是一种标准,以这种格式存储的图像可以从一个Win32应用程序拷贝到另一个应用程序。而且,因为这种格式是真正与设备无关的,所以保证图像的尺寸与形状在其它设备中也保持不变。
增强型元文件
============
增强型元文件是一个记录的数组。而元文件记录是一个可变长的ENHMETARECORD结构。这个结构标识了记录的类型、记录的长度和包含的附加数据。
在增强型元文件中的第一个记录总是增强型元文件头。这个文件头描述了以下信息:
* 元文件的尺寸 (以字节为单位)
* 图像的边框尺寸 (设备单位)
* 图像的边框尺寸 (0.01 mm 为单位)
* 在元文件中记录的个数
* 到可选的文本描述的偏移