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

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

ID:52473293

大小:302.37 KB

页数:16页

时间:2020-04-08

Windows程序设计第6章图形设备接口.ppt_第1页
Windows程序设计第6章图形设备接口.ppt_第2页
Windows程序设计第6章图形设备接口.ppt_第3页
Windows程序设计第6章图形设备接口.ppt_第4页
Windows程序设计第6章图形设备接口.ppt_第5页
资源描述:

《Windows程序设计第6章图形设备接口.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章图形设备接口由于Windows系统为基础操作系统和硬件之间提供了图形用户接口(GUI),因此图形是Windows程序的主要组成部分。在当今的GUI操作系统世界里图形学是十分重要的,Windows当然也毫不例外。本章主要介绍在Windows应用程序实现中如何理解MFC的封装、设备描述表、图形对象以及如何使用图形学的基本概念,讨论用来显示绘图称之为设备描述表的数据类型和结构,并描述用来建立Windows图形的每个基础图形对象。设备描述表与图形对象当Windows程序(包括Windows自己)给显示器或其它别的输出设备(如打印

2、机)绘制文本和图形时,它不像DOS程序那样直接画到硬件上,而是通过图形设备接口来实现绘制的。实际上,在Windows世界里,直接写到硬件上的应用程序被认为是禁忌,应用程序使用一个称之为设备描述表(DC)的概念,它表示物理设备(如监视器、打印机、绘图仪或某个别的物理设备)的逻辑形式。MFC提供几种DC的不同类型,在给设备绘制图形前应用程序必须显式请求DC。然而,设备描述表不仅限于物理设备,DC也可指逻辑设备。逻辑设备的一个例子就是元文件。它是以与设备无关的格式存储图面的结构的集合。另一个例子是位图,它是图形图像的像素集合。在位图

3、上或元文件上绘图如同在显示器上或打印机上绘图一样容易。Win32API提供四种类型设备描述表:l显示描述表。支持视频显示器上图形操作。l信息描述表。提供设备数据的检索。l内存描述表。支持位图上的图形操作。l打印描述表。支持在打印机或绘图仪上的图形操作。图形设备接口(GraphicsDeviceInterface,简称GDI)在Windows系统中用以扩展设备描述表,它是Windows系统结构的主要组成部分。在SDK程序里,DC作为参数发送至GDI函数调用,以给Windows提供要在上面绘图设备的特性说明。GDI给Windows

4、提供全部绘图功能;DC表示提供抽象层的设备,该抽象层使应用程序与直接绘图到硬件上的有害性相隔离(图6-1)展示硬件抽象)。通过调用合适的设备驱动程序以响应Windows图形函数调用的途径,GDI提供此隔离层。下面分别讲述各种GDI对象和拥有的属性:lCFont类:字体CFont对象用于输出文字时选用不同风格和大小的字体。可选择的风格包括:是否为斜体、粗体、字体名称、下划线等。颜色和背景色不属于字体的属性。lCBrush类:刷子CBrush对象决定填充区域时所采用的颜色或模板。对于一个固定色的刷子来讲它的属性为颜色,是否采用网格

5、和网格的类型如水平的,垂直的,交叉的等。你也可以利用8*8的位图来创建一个自定义模板的刷子,在使用这种刷子填充时系统会利用位图逐步填充区域。lCPen类:画笔CPen对象在画点和画线时有用。它的属性包括颜色,宽度,线的风格,如虚线,实线,点划线等。lCBitmap类:位图CBitmap对象可以包含一幅图像,可以保存在资源中。关于位图编程技术请见下一章。CRgn类:多边形CRgn对象是一种特殊的GDI对象,该对象利用多边形可以很好的限制作图区域或是改变窗口外型。在Windows中使用GDI对象可以按以下步骤加以实现:1、首先在绘

6、制文字、图形、图象等之前,我们需要创建一个合法的GDI对象,不同的对象创建方法不同,有些对象必须经过初始化才能使用。我们定义在代码块内的图形对象,用相应的CreateX()方法初始化对象。例如,使用CreatePalette()去创建CPalette对象。2、然后需要将建立的GDI对象选入DC中,同时保存DC中原来的GDI对象。一般通过使用CDC::SelectObject()方法选择新对象进入当前设备描述表。此方法返回指向被取代对象的指针(一个指向CGdiObject派生类的指针)。注意:如果你选入一个非法的对象将会引起异常

7、。3、当图形对象结束它的任务时,先前选中的图形对象返回设备描述表,保留事物的原来状态。在使用完后恢复原来的对象,这一点特别重要,如果保存一个临时对象在DC中,而在临时对象被销毁后可能引起异常。有一点必须注意,每一个对象在重新创建前必须销毁。注意:当对象越出范围时,在栈上声明的对象自动删除。恢复DC的先前状态后,声明作为指针并与新操作符定位在一起的图形对象必须显式删除。图形对象介绍Windows提供了显示设备描述表定义的逻辑显示面,GDI提供了在DC上使用的绘图工具。MFC图形对象类封装了Windows绘图工具,这些类都从称为C

8、GdiObject的公用基类派生的。MFC定义了几种图形对象类型及其它们相应的Windows绘图工具,这些图形对象和绘图工具类有:笔、刷子、字体、位图、调色板、区域。上述的CGdiObject类根据图像对象句柄及其他,提供到原始Win32API的接口。我们决不要直接创建CGd

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。