- 9
- 0
- 约 25页
- 2017-05-12 发布于河南
- 举报
3、图 形 与 文
第 3 章 图形和文本输出
3.1 图形设备接口和设备环境
3.2 GDI对象CGdiObject
3.3 画笔和画刷的使用
3.4 处理文本
3.5 位图
3.6 应用实例
1 什么是GDI
2 什么是CDC、CClientDC
3 什么是WM_PAINT消息和OnDraw()函数
4 如何定义CDC对象
5 常用的绘制图形、文字、图像的函数
6 画笔、画刷、字体对象如何使用
3.1 图形设备接口和设备环境
3.1.1 图形设备接口
GDI是Windows提供了的图形设备接口(Graphics Device Interface,GDI),使用GDI编程实现在窗口上输出图形图像。
GDI负责管理用户绘图操作时功能的转换,实现设备无关性。
应用程序可以使用GDI创建3种类型的图形输出:矢量图形、光栅图形和文本。
1.矢量图形
矢量图形输出是指画线和填充图形,包括点、直线、曲线、多边形、扇形和矩形等。通常所说的图形都是指矢量图形。
2.光栅图形
光栅图形输出是指光栅图形函数对以位图形式存储的数据进行操作,它包括各种位图和图标的输出。光栅图形一般称为图像。
3.文本
与DOS字符方式下输出文本不同,Windows中的文本是按图形方式输出的。
3.1.2 设备环境
Windows应用程序的输出不直接面向显示器或打印机等物理设备,而是面向一个称之为设备环境(Device Context,DC)的虚拟逻辑设备。
设备环境DC,也称设备描述表或设备上下文。它是由GDI创建、用来代表设备连接的数据结构。
DC的主要功能有以下几种:
(1) 允许应用程序使用一个输出设备。
(2) 提供Windows应用程序、设备驱动和输出设备之间的连接。
(3) 保存当前信息,例如当前的画笔、画刷、字体和位图等图形对象及其属性,以及颜色和背景等影响图形输出的绘图模式。
(4) 保存窗口剪切区域,限制程序输出到输出设备中窗口覆盖的区域。
3.1.3 设备环境类
GDI和DC是Windows的接口,在MFC中,具体功能封装在CDC类,称为设备环境类。
1. 设备环境类CDC及其功能
CDC 是所有设备环境类的基类,对GDI的所有绘图函数进行了封装
CClientDC 是CDC类的派生类,代表窗口客户区的设备环境
代表整个窗口的设备环境,包括客户区和非客户区
2. 设备环境类CDC的一些常用函数
Arc() Chord() Ellipse() LineTo() MoveTo()
Ployline() Pie() Rectangle()
3.1.4 颜色的设置
Windows用COLORREF类型的数据存放颜色,它是一个32位整数。
任何一种颜色都是由红、绿、蓝3种基本颜色组成的,COLORREF类型数据的低位字节存放红色强度值,第2个字节存放绿色强度值,第3个字节存放蓝色强度值,高位字节为0,每一种颜色分量的取值范围为0~255。
MFC提供了RGB宏,用于设置颜色,其使用形式为:
RGB(byRed,byGreen,byBlue)
其中参数byRed、byGreen和byBlue分别表示红、绿、蓝分量值(范围0~255)。
例: COLORREF color;
color = RGB(128,0,200);
3.1.5 获取设备环境
1.传统的SDK获取设备环境的方法(略)
2. MFC应用程序获取设备环境的方法,即创建DC对象的方法。
1) 如果在OnDraw中,参数会传入一个CDC指针,直接使用。
void CMyView::OnDraw(CDC* pDC);
2)如果不在OnDraw中,要创建和构造CClientDC对象
CClientDC dc(this);
注意:只有CClientDC可以用在OnDraw()函数之外。
3)CClientDC对象可以定义为全局的或局部的,全局的如下例:
在类中定义指针
CClientDC *dc;
在类的初始化函数中构造指针
dc = new CClientDC(this);
3.1.6 编程实例
【例3.1】 编写一个单文档的MFC应用程序Li3_1,利用表3-2中的函数绘制几种常见的几何图形。当程序运行时,显示如图所示结果。
【例3.2】编写一个单文档的MFC应用程序Li3_2,使用CPaintDC类完成例3.1同样的功能。
【例3.3】 编写一个基于对话框的MFC应用程序Li3_3,程序运行后,当用户在窗口中单击鼠标左键时,在窗口中绘制一个椭圆。
【例3.4】编写一个基
您可能关注的文档
- 2.3 确定二次函数的表达式(第1课时) 教学设计.doc
- 2.2 Windows XP桌面、任务栏.doc
- 2.3.3解一元二次不等式.doc
- 2.3循环语句教案.doc
- 2.4程序的循环结构.doc
- 2.4.3循环语句 学案(北师大版必修3).doc
- 2.Windows知识题部分--计算机应用基础统考试题库及答案1.doc
- 2.Windows知识题--浙大计算机2012.doc
- 2.快捷键.doc
- 2001套价说明.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)