已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章绘制图形,Windows是一种图形操作系统,它不仅为用户提供了图形界面,还将大多数信息显示为图形。 在Windows中,还备有多个用于图形描绘的图形描绘界面函数,图形描绘在Windows应用程序中得到了广泛应用。 在本章中,图形编程的基础知识坐标空间和映射模式的基本图形的图形描绘的例子,8.1图形编程的基础知识,通常Windows应用程序不是直接与硬件图形设备相交,而是图形设备事实上,Windows系统封装了图形设备接口函数,应用程序只需调用图形设备接口函数,这些接口函数就可以操纵图形设备驱动程序,从而实现图形硬件因此,Windows图形编程仅调用图形设备接口函数,而不考虑特定设备,本节将介绍这些基本知识。 8.1.1图形设备接口和图形设备接口的英文名称简称GraphicsDeviceInterface,GDI。 GDI是图形显示的库,通过调用GDI所提供的接口函数与硬件图形设备进行交换。 接口函数不足,需要绘制图形的设备,Windows无法直接操作硬件图形设备,但提供了绘制图形的设备环境。 8.1.2设备环境、设备环境的英文全名是DeviceContext,简称DC。 DC代表不同的物理设备,如监视器屏幕、打印机或其他输出设备。 用户绘制图形时,无需考虑特定的硬件图形设备,只需在DC上绘制图形,Windows系统就会通过驱动图形设备来操作特定的物理设备以显示图形。 8.1.3为了更好地操作设备环境类别、DC,MFC的设备环境类别CDC应当封装设备环境,并且所有图形绘制操作都必须在CDC类别或其衍生类别对象中完成。 图中显示了CDC类及其派生类的继承关系,8.1.4图形设备接口对象、图形设备接口对象即GDI对象是可以在设备环境DC中绘制图形的工具常用的GDI对象主要是画笔、画笔、字体、位图、调色板、区域等,MFC的CGdiObject类及其派生类封装了GDI对象。 如图所示,CGdiObject类及其派生类的继承关系可分为8.2坐标空间和映射图案、坐标空间即平面坐标系、坐标系主要分为设备坐标和逻辑坐标两种。 映射模式是这两个坐标系,即映射模式,是设备坐标与逻辑坐标之间互相变换时的比例关系。 本节概述了设备坐标、逻辑坐标和映射模式的基本知识。 此外,8.2.1装置坐标、装置坐标或显示屏或其他显示装置的原点为左上角,x轴正方向是右下角,y轴正方向是左下角,并且单位是像素。 一般而言,CWnd类的成员函数作为设备坐标的参数,并且Windows将设备坐标用于所有消息,诸如WM_LBUTTONDOWN、WM_LBUTTONUP、WM_MOUSEMOVE和WM_SIZE。 此外,8.2.2逻辑坐标、逻辑坐标是存储器中的虚拟坐标系,x轴的正方向是右侧、y轴的正方向是上侧,即正交坐标系的第4象限,逻辑坐标的单位根据映射模式不同而不同,也可以是像素、毫米、英寸等的单位。 典型的CDC类成员函数以逻辑坐标为参数。 8.2.3映射模式,Windows通常需要实现设备坐标和逻辑坐标之间的转换。 CDC类提供了成员函数DPtoLP ()和LPtoDP ()。 其中,DPtoLP ()函数用于实现从设备坐标到逻辑坐标的转换,该函数的原型是voidDPtoLP(LPPOINTlpPoints,intnCount=1)const; 8.3基本图形的绘制,画笔和画笔是图形绘制中最常用的GDI对象,基本图形主要包括点、直线、矩形、圆角矩形、圆、椭圆、圆弧、扇形、多边形等。本节详细介绍绘制这些基本图形,以及将画笔和画笔应用于这些基本图形绘制。 的双曲馀弦值。 8.3.1画笔、画笔是描绘点、线、图形边界线的GDI对象。 MFC提供了用于处理笔刷的CPen类,并提供了用于创建和初始化笔刷的成员函数CreatePen ()。 该函数的原型是BOOLCreatePen(intnPenStyle,intnWidth,COLORREFcrColor ),8.3.2笔刷,笔刷是填充正在绘制的图形的内部区域的GDI对象。 MFC提供了操作刷子的CBrush类,刷子主要分为中间刷子和阴影刷子两种。 在本例中,您将使用元函数CreateSolidBrush ()创建和初始化实体笔刷。 此函数的原型是bolcreattesolidbrush (colorrefcrcolor ),8.3.3点,点是最基本的GDI图形之一,CDC类是COLORREFSetPixel(intx、inty、COLORREFcrColor ) 画8.3.4直线,直线是最基本的GDI图形之一,一条直线确定需要两点,CDC类提供成员函数MoveTo ()和LineTo ()以确定直线的起点和终点。 其中,成员函数MoveTo ()的原型是CPointMoveTo(POINTpoint ); 另外,描绘8.3.5矩形和圆角矩形,矩形是最基本的GDI图形之一,一般的矩形主要有普通的矩形和圆角矩形等2种,CDC类提供成员函数Rectangle ()和RoundRect (),描绘普通的矩形和圆角矩形。 其中,成员函数Rectangle ()的原型是BOOLRectangle(intx1,inty1,intx2, inty2 ),绘制8.3.6椭圆和圆,圆是最基本的GDI图形之一,常用圆主要有椭圆和普通圆两种,CDC类提供绘制椭圆的成员函数Ellipse (),圆是椭圆的特殊情况下,成员函数Ellipse ()的原型为boot 8.3.7弧形的弧形是最基本的GDI图形之一,CDC类提供弧形成员函数Arc (),成员函数Arc ()的原型是: 8.3.8扇形,扇形是最基本的GDI图元之一,CDC类提供了用于绘制扇形的成员函数Pie (),成员函数Pie ()的原型是: BOOLPie(intx1,inty1,intx2,inty2,intx3,inty3,intx4,intx4) 8.3.9绘制多边形,多边形是最基本的GDI图形之一,CDC类提供用于绘制多边形的成员函数Polygon (),成员函数Polygon ()的原型是BOOLPolygon(LPPOINTlpPoints,intnCount ),即8.3.10 第5章使用CDC类的成员函数TextOut ()输出文本,但该函数只能输出默认样式的文本。 事实上,CDC类提供了成员函数DrawText (),用于绘制样式的文本。 此成员函数的原型如下: intDrawText(constCString,8.4图形描绘的改善,上一节介绍了基本图形的描绘。 读者发现该程序不方便,绘制图形时没有共同的绘制软件那样的“橡皮筋”效果,窗口变化时绘制的图形消失。 在本节中,对此进行改良,增加图形描绘的拖动显示效果和处理图形的保存和再描绘。 8.4.1绘图的拖动显示、绘图的情况下,拖动显示效果的原理简单,鼠标移动时删除旧的图形并绘制新的图形。 可以通过设置适当的混合模式来实现此效果,以指定如何混合画笔颜色和当前显示颜色。 混合模式仅适用于光栅设备。 8.4.2图形的保存和再描绘,上面的程序有问题的是窗口变化时描绘的图形消失。 这是因为窗口变化时,窗口被重画。 您必须储存绘制的图形,才能在重新绘制视窗后重新输出视窗。8.5常见面试问题1.CClientDC、CMetaFileDC、CPaintDC和CWindowDC之间的主要区别是什么?2 .创建宽度为5像素、颜色为红色、样式为实心的画笔。 3 .设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年山东省临沂市单招职业倾向性测试题库及答案解析(夺冠系列)
- 2026年吉林省经济管理干部学院单招职业技能测试必刷测试卷附答案解析
- 2026年山东城市建设职业学院单招职业倾向性考试必刷测试卷带答案解析
- 2026年云南省红河哈尼族彝族自治州单招职业倾向性测试必刷测试卷附答案解析
- 2026年河北正定师范高等专科学校单招职业技能考试题库及答案解析(夺冠系列)
- 2026年新疆克孜勒苏柯尔克孜自治州单招职业适应性考试题库带答案解析
- 2026年厦门软件职业技术学院单招综合素质考试题库及答案解析(夺冠系列)
- 2026年云南国防工业职业技术学院单招职业适应性测试必刷测试卷及答案解析(夺冠系列)
- 2026年新乡职业技术学院单招职业适应性测试必刷测试卷及答案解析(夺冠系列)
- 2026年信阳职业技术学院单招职业技能测试必刷测试卷及答案解析(夺冠系列)
- 箱梁预制场平面布置施工方案
- 市委2025年履行全面从严治党主体责任工作报告
- 机关财务划转协议书
- 山东蒙阴垛庄抽水蓄能500kV开关站工程环境影响报告书
- 多囊卵巢综合征健康管理档案建立方案
- 企业内部管理培训资料
- 企业校园招聘的问题与对策研究
- 2025年贵州乐理考试题目及答案
- 儿科护士长述职报告
- 精神科规培基地工作汇报
- 2025年商业地产行业商业地产数字化运营与商业模式研究报告及未来发展趋势
评论
0/150
提交评论