- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 图形和文本输出 目录 3.1 图形设备接口和设备环境 3.1.1 图形设备接口 Windows提供了一个称为图形设备接口(Graphics Device Interface,GDI)的抽象接口。 GDI作为Windows的重要组成部分,负责管理用户绘图操作时功能的转换。用户通过调用GDI函数与设备打交道,GDI通过不同设备提供的驱动程序将绘图语句转换为对应的设备绘图指令,避免了用户对硬件直接进行操作,从而实现设备无关性。 应用程序可以使用GDI创建3种类型的图形输出 1.矢量图形 矢量图形输出是指画线和填充图形,包括点、直线、曲线、多边形、扇形和矩形等。 2.光栅图形 对位图进行操作 3.文本 用户可以设置文本的各种效果,如加粗、斜体、设置颜色等。 3.1.2 设备环境(DC) 为了体现Windows的设备无关性,应用程序的输出不直接面向显示器或打印机等物理设备,而是面向一个称之为设备环境(Device Context,DC,设备描述表或设备上下文)的虚拟逻辑设备。 DC的主要功能有以下几种: (1) 允许应用程序使用一个输出设备。 (2) 提供Windows应用程序、设备驱动和输出设备之间的连接。 (3) 保存当前信息,例如当前的画笔、画刷、字体和位图等图形对象及其属性,以及颜色和背景等影响图形输出的绘图模式。 3.1.3 设备环境类 1.设备环境类CDC及其子类(功能参见表3-1) 2.设备环境类CDC的一些常用函数 CDC提供了基本的绘图操作函数,如画点、画线、画圆、画矩形、画多边形等。表3-2列出了一些常用函数及其功能。 3.1.4 颜色的设置 Windows用COLORREF类型的数据存放颜色,它实际上是一个32位整数。 任何一种颜色都是由红、绿、蓝3种基本颜色组成的 COLORREF类型数据的低位字节存放红色强度值,第2个字节存放绿色强度值,第3个字节存放蓝色强度值,高位字节为0 每一种颜色分量的取值范围为0~255。 RGB宏 MFC提供了RGB宏,用于设置颜色,它将其中的红、绿、蓝分量值转换为COLORREF类型的颜色数据,其使用形式为: ?RGB(byRed,byGreen,byBlue) ?其中参数byRed、byGreen和byBlue分别表示红、绿、蓝分量值(范围0~255)。 表3-3列出了一些常用颜色的RGB值。 如黑色(0,0,0),白色(255,255,255),红色(255,0,0) 3.1.5 获取设备环境 绘图前,必须准备好设备环境DC。 MFC应用程序获取设备环境的方法主要有两种: 接受一个参数为指向CDC对象的指针; 声明一个 MFC设备环境类的对象,并使用this指针为该对象赋值。 3.1.6 编程实例 【例3.1】 编写一个单文档的MFC应用程序Li3_1,利用表3-2中的函数绘制几种常见的几何图形。当程序运行时,显示如图3.3所示结果。 void CLi3_1View::OnDraw(CDC* pDC) { CLi3_1Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here pDC-RoundRect(100,30,250,100,30,30); //绘制圆角矩形 pDC-Ellipse(200,100,400,150); //绘制椭圆 } 例3.3 p47. 建立方法如下图步骤: void CLi3_3View::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default CClientDC dc(this); //定义客户区设备环境 CRect r1; GetClientRect(r1); //获得客户区的大小 dc.Ellipse(r1); //绘制椭圆 CView::OnLButtonDown(nFlags, point); } 3.2 GDI对象CGdiObject GDI对象是Windows图形设备接口的抽象绘图工具。包括画笔、画刷、字体、位图和调色板,MFC提供了封装的GDI对象的类。 1.CPen类:用于绘制对象的边框以及直线和曲线。默认的画笔用于绘制与一个像素等宽的黑色实线。 2.CBrush类:用来填充一个封闭图形对象(如矩形、圆形)的内部区域的,默认的画刷颜色是白色。 3.CFont类:用来绘制文本。用户可以设
您可能关注的文档
- 杭电的管理学院迎新晚会策划.doc
- 杰克那个黑杰客克.doc
- 杰拉网咖WCA电竞培训-你想知道的全在这里.docx
- Access0200学习资料.ppt
- 松下—NPM培训教材.doc
- Access0203窗体设计视图.ppt
- Access15过程调用及参数传递.ppt
- 板贵乡中心小学交通安全工作的简报.doc
- Access2003数据访问页及web.ppt
- Access2007数据库基本2.ppt
- 的购物中心停车场研究报告.docx
- 2024年青岛黄海学院单招职业适应性测试题库附答案.docx
- 2025年云南省个旧市事业单位考试(医疗卫生类E类)职业能力倾向测验强化训练试题集推荐.docx
- 2024年青岛黄海学院单招职业适应性测试题库附答案.docx
- 2025年云南省宣威市事业单位公开招聘考试职业能力倾向测验(D类)(中小学教师类)真题最新.docx
- 专项强化:高中电学计算问题 (解析版).pdf
- 2025年云南省个旧市事业单位考试(医疗卫生类E类)职业能力倾向测验强化训练试题集推荐.docx
- 文书模板-眼镜公司章程.docx
- 2025年云南省个旧市事业单位考试(医疗卫生类E类)职业能力倾向测验知识点试题附答案.docx
- 2025年云南省大理市职业能力倾向测验事业单位考试(医疗卫生类E类)试题推荐.docx
文档评论(0)