03绘图-4(图元文件).doc

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
03绘图-4(图元文件)

3.11 图元文件 从一开始GDI就支持(图)元文件(metafile),早期(1985年)的版本为WMF(Windows MetaFile视窗元文件),主要针对Win16(Win3.x),后来(1990年)也支持Win32(Win95/ 98/Me)。以后(1993年)随Windows NT推出了改进的元文件版本——EMF(Enhanced Windows MetaFile增强型视窗元文件),只支持Win32(Win95/98/Me/NT/2000/XP)。现在(2001年)又随GDI+推出了加强型EMF——EMF+,可以同时支持GDI和GDI+。 元文件所支持的GDI类型 元文件类型 Win16 GDI Win32 GDI Win32/64 GDI+ WMF √ √ × EMF × √ × EMF+ × √ √ 虽然在GDI+中,将图元文件所对应的类Metafile作为Image的派生类,但这只是为了图元文件可以同时处理图形和图像。其实图元文件中所包含的就是一系列绘图(包括绘制图像)指令及参数,属于矢量图形文件。它所占空间小、可以任意缩放(不会产生马赛克效应),但是绘制图形需要一定的时间。 本节只介绍GDI中的图元文件格式WMF和EMF,重点介绍在SDK API和MFC中使用图元文件。至于GDI+中的图元文件格式EMF+和如何在GDI+中使用图元文件及其相关类,则在6.2的第8小节中介绍。 1)元文件格式 下面分别介绍WMF、EMF和EMF+的文件格式。 (1)WMF文件格式 元文件结构: 视窗元文件头 元文件记录 …… 元文件头: typedef struct tagMETAHEADER { WORD mtType; // 元文件类型:内存=0、磁盘文件=1 WORD mtHeaderSize; // 文件头大小的字数 WORD mtVersion; // 系统的版本号:支持DIB=0x0300、不支持DIB=0x0100 DWORD mtSize; // 文件大小的字数 WORD mtNoObjects; // 同时存在于元文件内的最大对象数 DWORD mtMaxRecord; // 元文件中最大记录的字大小 WORD mtNoParameters; // 保留字段 } METAHEADER; 元文件记录: typedef struct tagMETARECORD { DWORD rdSize; // 记录大小的字数 WORD rdFunction; // 功能/函数号(记录类型META_XXX) WORD rdParm[1]; // 函数参数数组,逆序排列 } METARECORD; 记录类型(67种) 记录 值 记录 值 META_SETBKCOLOR 0x0201 META_POLYGON 0x0324 META_SETBKMODE 0x0102 META_POLYLINE 0x0325 META_SETMAPMODE 0x0103 META_ESCAPE 0x0626 META_SETROP2 0x0104 META_RESTOREDC 0x0127 META_SETRELABS 0x0105 META_FILLREGION 0x0228 META_SETPOLYFILLMODE 0x0106 META_FRAMEREGION 0x0429 META_SETSTRETCHBLTMODE 0x0107 META_INVERTREGION 0x012A META_SETTEXTCHAREXTRA 0x0108 META_PAINTREGION 0x012B META_SETTEXTCOLOR 0x0209 META_SELECTCLIPREGION 0x012C META_SETTEXTJUSTIFICATION 0x020A META_SELECTOBJECT 0x012D META_SETWINDOWORG 0x020B META_SETTEXTALIGN 0x012E META_SETWINDOWEXT 0x020C META_CHORD 0x0830 META_SETVIEWPORTORG 0x020D META_SETMAPPERFLAGS 0x0231 META_SETVIEWPORTEXT 0x020E META_EXTTEXTOUT 0x0a32 META_OFFSETWINDOWORG 0x020F META_SETDIBTODEV 0x0d33 META_SCALEWINDOWEXT 0x0410 META_

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档