Windows程序设计 第的6章 图形设备接口.pptVIP

Windows程序设计 第的6章 图形设备接口.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Windows程序设计 第的6章 图形设备接口

第6章 图形设备接口 ? ; 由于Windows 系统为基础操作系统和硬件之间提供了图形用户接口(GUI),因此图形是Windows程序的主要组成部分。在当今的GUI 操作系统世界里图形学是十分重要的, Windows当然也毫不例外。本章主要介绍在Windows应用程序实现中如何理解MFC的封装、设备描述表、图形对象以及如何使用图形学的基本概念,讨论用来显示绘图称之为设备描述表的数据类型和结构, 并描述用来建立Windows图形的每个基础图形对象。 ;设备描述表与图形对象 ? 当Windows程序(包括Windows自己)给显示器或其它别的输出设备(如打印机)绘制文本和图形时,它不像DOS程序那样直接画到硬件上,而是通过图形设备接口来实现绘制的。实际上, 在Windows世界里, 直接写到硬件上的应用程序被认为是禁忌, 应用程序使用一个称之为设备描述表(DC)的概念, 它表示物理设备(如监视器、打印机、绘图仪或某个别的物理设备)的逻辑形式。MFC提供几种DC的不同类型, 在给设备绘制图形前应用程序必须显式请求DC。 然而, 设备描述表不仅限于物理设备, DC也可指逻辑设备。逻辑设备的一个例子就是元文件。它是以与设备无关的格式存储图面的结构的集合。另一个例子是位图, 它是图形图像的像素集合。在位图上或元文件上绘图如同在显示器上或打印机上绘图一样容易。 ;Win32 API 提供四种类型设备描述表: l???????? 显示描述表。支持视频显示器上图形操作。 l???????? 信息描述表。提供设备数据的检索。 l???????? 内存描述表。支持位图上的图形操作。 l???????? 打印描述表。支持在打印机或绘图仪上的图形操作。 图形设备接口(Graphics Device Interface ,简称GDI)在Windows系统中用以扩展设备描述表,它是Windows系统结构的主要组成部分。在SDK程序里, DC作为参数发送至GDI函数调用, 以给Windows提供要在上面绘图设备的特性说明。GDI给Windows提供全部绘图功能;DC表示提供抽象层的设备,该抽象层使应用程序与直接绘图到硬件上的有害性相隔离(图6-1)展示硬件抽象)。通过调用合适的设备驱动程序以响应Windows图形函数调用的途径, GDI提供此隔离层。 ;???面分别讲述各种GDI对象和拥有的属性: l????????? CFont类:字体CFont对象用于输出文字时选用不同风格和大小的字体。可选择的风格包括:是否为斜体、粗体、字体名称、下划线等。颜色和背景色不属于字体的属性。 l????????? CBrush类:刷子CBrush对象决定填充区域时所采用的颜色或模板。对于一个固定色的刷子来讲它的属性为颜色,是否采用网格和网格的类型如水平的,垂直的,交叉的等。你也可以利用8*8的位图来创建一个自定义模板的刷子,在使用这种刷子填充时系统会利用位图逐步填充区域。 l????????? CPen类:画笔CPen对象在画点和画线时有用。它的属性包括颜色,宽度,线的风格,如虚线,实线,点划线等。 l????????? CBitmap类:位图CBitmap对象可以包含一幅图像,可以保存在资源中。关于位图编程技术请见下一章。 CRgn类:多边形CRgn对象是一种特殊的GDI对象,该对象利用多边形可以很好的限制作图区域或是改变窗口外型。 ;在Windows中使用GDI对象可以按以下步骤加以实现: 1、首先在绘制文字、图形、图象等之前,我们需要创建一个合法的GDI对象,不同的对象创建方法不同,有些对象必须经过初始化才能使用。我们定义在代码块内的图形对象, 用相应的CreateX()方法初始化对象。例如,使用CreatePalette()去创建CPalette对象。 2、然后需要将建立的GDI对象选入DC中,同时保存DC中原来的GDI对象。一般通过使用CDC::SelectObject()方法选择新对象进入当前设备描述表。此方法返回指向被取代对象的指针(一个指向CGdiObject派生类的指针)。注意:如果你选入一个非法的对象将会引起异常。 3、当图形对象结束它的任务时, 先前选中的图形对象返回设备描述表, 保留事物的原来状态。在使用完后恢复原来的对象,这一点特别重要,如果保存一个临时对象在DC中,而在临时对象被销毁后可能引起异常。有一点必须注意,每一个对象在重新创建前必须销毁。 注意:当对象越出范围时, 在栈上声明的对象自动删除。恢复DC的先前状态后, 声明作为指针并与新操作符定位在一起的图形对象必须显式删除。 ;图形对象介绍 ? Windows提供了显示设备描述表定义的逻辑显示面, GDI提供了在DC上使用的绘图

文档评论(0)

ayangjiayu5 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档