第9章++文本、图形输出.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章 文本、图形输出 Windows图形设备接口GDI(Graphic Device Interface)提供了在Windows下绘图的基本功能。想要在Windows应用程序窗口中显示图形,必须使用GDI中的函数。而所有的绘制操作都是通过设备描述表进行的。Windows设备描述表DC(device contexts),是对各种不同设备的抽象,应用程序只要向DC输出,由DC负责处理不同设备的差异。本章将介绍Visual C++中,有关图形、文本输出显示的相关知识。 9.1 基础知识 图形设备接口(GDI)和设备的驱动程序实现了设备无关性的图形的显示,而设备描述表(DC)则用来确定GDI输出的位置和形象的属性。 9.1.1 GDI绘图的实现 图形设备接口(GDI)可理解为一个可执行程序,它处理来自Windows应用程序的图形函数调用,然后把这些调用传递给合适的设备驱动程序,由设备驱动程序来执行与硬件相关的函数,并产生最后的输出结果。GDI可以看作是一个应用程序与输出设备之间的中介,一方面,GDI向应用程序提供了一个设备无关的编程环境,另一方面,它又以设备相关的格式和具体的设备打交道。 9.1.2 MFC图形对象类 Windows提供了多种用于在设备描述表中进行绘制的图形对象,如画笔、位图、调色板、区域、路径等。MFC对Windows中的这些图形对象进行了封装,提供了等同于它们的图形对象类。(具体内容请参照本书) 9.1.3 库存GDI对象 Windows预定义了一些标准GDI对象,供系统和程序使用,称为库存GDI对象,它们可为多个程序同时使用。库存GDI对象包括最常用的字体、画笔、画刷等, 9.1.4 与图形绘制有关的简单数据类型 在详细介绍使用设备描述表和GDI对象实现图形输出之前,首先介绍几个常用的与图形绘制有关的数据结构类。 1.CPoint类 2.CSize类 3.CRect类 4.RGB宏 9.1.5 MFC应用程序框架中的图形绘制与刷新 在Windows应用程序中,通常在绘制图形之前调用BeginPaint函数,然后在设备描述表中进行一系列的绘制操作,最后调用EndPaint函数结束绘制。MFC类CPaintDC封装了这一过程。在构造CPaintDC对象的同时,其构造函数自动调用BeginPaint函数;在消毁CPaintDC对象的同时,其析构函数自动调用EndPaint函数。 9.2 MFC设备描述表——CDC类 在MFC中,CDC类封装了设备描述表(DC),该类的核心是m_hDC,代表一个指向窗口DC的句柄。具体使用时,MFC提供了几个常用的CDC类的派生类:CPaintDC、CClientDC和CWindowDC,它们的用法有着细微的差别。 9.2.1 CDC及其派生类 CDC类派生自CObject,它具有CObject类的共同特性,如可以动态创建,可进行序列化操作。CDC类既包括了设备属性又包括了绘图方法,通过此方法可以实现GDI的所有图形输出。 9.2.2 文本输出 输出文本一般使用CDC::TextOut函数,它可以输出单行的文本,原型如下: BOOL TextOut( int x, int y, const CString str ) 参数x和y为文本的输出位置坐标,参数str为要输出的文本内容。 9.2.3 CDC的常用绘图函数 CDC类中提供了很多绘图函数,可以通过这些函数绘制点、线、矩形、圆、多边形等。 9.3 使用画笔和画刷进行绘图 在Windows作图中,画笔和画刷是使用最多的GUI对象。绘制图形时,画笔负责绘制图形区域的边界,而画刷负责填充其内部区域。 9.3.1 画笔对象及其使用 MFC类CPen封装了GDI中的画笔对象,画笔对象代表了进行绘制时所用的线条。 9.3.2 使用画笔绘图实例 下面给出一个使用不同类型画笔绘制图形的实例。通过本实例掌握画笔对象的使用和使用图形函数绘制图形。 9.3.3 画刷对象及其使用 刷子对象用来在GDI输出时填充一个封闭图形的内部,如当画圆形或方形时,系统会用当前的刷子对内部进行填充。MFC类CBrush封装了标准的Windows刷子对象。 创建画刷时,通常先定义一个CBrush对象,然后调用CreateSolidBrush、CreateaHatchBrush或CreatePatternBrush函数之一来定义画刷对象的属性。 9.3.4 使用画刷绘图实例 下面给出一个使用不同类型画刷绘制图形的实例,通过本实例掌握画刷对象的使用。(具体内容请参照本书) 9.4 字体对象 MFC类CFont封装了Windows图形设备接口中的字体对象。字体对象决定的设备上下文中进行文本输出的字符样式。 9.4.1 字体对象的创建 在使用字体

文档评论(0)

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

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

1亿VIP精品文档

相关文档