vc++6.0入门【第五章 图形和文本输出】

vc++6.0入门【第五章 图形和文本输出】

ID:10255646

大小:1.18 MB

页数:33页

时间:2018-06-13

vc++6.0入门【第五章  图形和文本输出】_第1页
vc++6.0入门【第五章  图形和文本输出】_第2页
vc++6.0入门【第五章  图形和文本输出】_第3页
vc++6.0入门【第五章  图形和文本输出】_第4页
vc++6.0入门【第五章  图形和文本输出】_第5页
资源描述:

《vc++6.0入门【第五章 图形和文本输出】》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第5章图形与文本输出第5章图形和文本输出精讲Windows使用图形设备接口(GDI)进行图形输出和文本输出,MFC封装了GDI对象,提供了CGdiObject类和CDC类支持图形输出和文本输出,本章你将学习使用CGdiObject类和CDC类在视图中输出各种图形和文本的方法和技巧。5.1图形设备接口和CDC5.1.1图形设备接口(GDI)Windows操作系统通过图形设备接口,简称GDI(GraphicsDeviceInterface),管理Windows程序的所有图形输出,包括显示在屏幕上的窗口,屏

2、幕保护程序的运行,文档的打印。GDI处理与不同输出设备的连接,从而应用程序开发者不需要去考虑基础硬件设备之间的不同。应用程序可以使用GDI创建3种类型的图形输出:矢量图形、光栅图形和文本。1.矢量图形矢量图形输出是指创建线和填充图形,包括点、直线、曲线、多边形、扇形和矩形。2.光栅图形光栅图形输出是指光栅图形函数对以位图形式存储的数据进行操作,它包括各种位图和图标的输出。在屏幕上表现为对若干行和列的像素操作,在打印机上则是若干行和列的点阵输出。光栅图形是直接从内存到显存的拷贝操作,所以速度快,但是对内

3、存要求高。3.文本文本输出是GDI的另一项任务。输出文本时文本的输出位置的计算不是以行为单位,而是以逻辑坐标为单位计算。用户可以设置文本的各种效果,如加粗、斜体、设置颜色等。MFC处理图形输出是通过设备上下文CDC类和图形对象CGdiObject类来完成的。5.1.2绘图工具GDI对象CGdiObjectCGdiObject是MFC提供绘图工具的类,它的派生类包括画笔(CPen)、画刷(CBrush)、字体(CFont)、位图(CBitmap)、调色板(CPalette)、区域(CRgn)等,它们的继

4、承关系如图5-1所示。33第5章图形与文本输出图5-1CGdiObject类的构成各个派生类的任务是:1.画笔(CPen)封装GDI画笔,用于绘制对象的边框以及直线和曲线。默认画笔用于绘制与一个像素等宽的黑色实线。2.画刷(CBrush)封装GDI画刷。画刷是用来填充一个封闭的图形对象(如矩形,圆形)的内部区域。默认的画刷颜色是白色。3.字体(CFont)封装GDI字体对象,用户可以建立一种GDI字体,并使用CFont的成员函数来访问它。主要影响文本输出的效果,包括文字的大小、是否加粗、是否斜体、是否

5、加下划线等。4.位图(CBitmap)封装GDI位图,提供成员函数装载和位图操作,位图可以用于填充区域。5.调色板(CPalette)封装GDI调色板,保存系统可用的色彩信息,是应用程序和彩色输出设备上下文的接口。6.区域(CRgn)封装GDI区域。区域是窗口内的一块多边形或椭圆形区域。CRgn用于设备上下文(通常是窗口)内的区域操作。CRgn通常与CDC类中与裁剪(clipping)有关的成员函数配合使用。5.1.3设备描述表(DC)设备上下文(DeviceContext),简称DC,是由GDI创建

6、用来代表设备连接的数据结构。DC的主要功能有:(1)允许应用程序使用一个输出设备。(2)提供窗口应用程序,设备驱动,和输出设备之间的连接。(3)保存当前信息,例如在一个窗口内绘图使用的颜色,画笔的宽度、画刷的类型等等。(4)保存窗口剪取区域(clippingregion),限制程序输出到输出设备中窗口覆盖的区域。5.1.4设备上下文类(CDC)MFC封装了DC,提供CDC类及它的子类访问GDI,如图5-2所示,各类作用介绍如下。33第5章图形与文本输出CObjectCDCCClientDCCMetaF

7、ileDCCPanitDCCWindowDC图5-2CDC及子类1.CDC类封装了所有图形输出函数,包含了一个DC的创建和初始化,及通用GDI对象的操作,包括画简单图形(如线、矩形、椭圆)和复杂的功能(如区域、位图、剪切区域)的操作。CDC类的适应范围最广,不仅能支持窗口,还能支持打印机。2.ClientDC类CClientDC又名客户区设备上下文,用于客户区的输出,一般在响应非窗口消息并对客户区绘图时要用到该类,例如在鼠标双击时要输出文本等。3.CPaintDCCPaintDC用于响应窗口重绘消息(

8、WM_PAINT)的绘图输出,不仅可对客户区进行操作,还可以对非客户区进行操作。4.CWindowDCCWindowDC用于窗口客户区和非客户区(包括窗口边框、标题栏、控制按钮等)的绘制,除非要自己绘制窗口的边框和按钮,否则一般不用它。5.CMetaFileDCCMetaFileDC专门用于图元文件的绘制。图元文件记录一组GDI操作命令,可以通过这一组GDI命令重建图形输出。使用CMetaFileDC时,所有的图形输出命令会自动记录到一个与CMetaFi

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

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

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