《图形文本和位》ppt课件

《图形文本和位》ppt课件

ID:26921496

大小:431.01 KB

页数:84页

时间:2018-11-30

《图形文本和位》ppt课件_第1页
《图形文本和位》ppt课件_第2页
《图形文本和位》ppt课件_第3页
《图形文本和位》ppt课件_第4页
《图形文本和位》ppt课件_第5页
资源描述:

《《图形文本和位》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章图形、文本和位图7.1概述VisualC++的CDC(DeviceContext,设备环境)类是MFC中最重要的类之一,它封装了绘图所需要的所有函数,是用户编写图形和文字处理程序必不可少的。当然,绘制图形和文字时还必须指定相应的设备环境。设备环境是由Windows保存的一个数据结构,该结构包含应用程序向设备输出时所需要的信息。7.1.1设备环境类(1)CPaintDC比较特殊,它的构造函数和析构函数都是针对OnPaint进行的,但用户一旦获得相关的CDC指针,就可以将它当成任何设备环境(包括屏幕、打印机

2、)指针来使用。CPaintDC类的构造函数会自动调用BeginPaint,而它的析构函数则会自动调用EndPaint。(2)CClientDC只能在窗口的客户区(不包括边框、标题栏、菜单栏以及状态栏)中进行绘图,点(0,0)通常指的是客户区的左上角。而CWindowDC允许在窗口的任意位置中进行绘图,点(0,0)指整个窗口的左上角。CWindowDC和CClientDC构造函数分别调用GetWindowDC和GetDC,但它们的析构函数都是调用ReleaseDC函数。(3)CMetaFileDC封装了在一个W

3、indows图元文件中绘图的方法。图元文件是一系列与设备无关的图片的集合,由于它对图象的保存比像素更精确,因而往往在要求较高的场合下使用,例如AutoCAD的图像保存等。目前的Windows已使用增强格式(enhanced-format)的32位图元文件来进行操作。7.1.2坐标映射在讨论坐标映射之前,先来看看下列语句:pDC->Rectangle(CRect(0,0,200,200));它是在某设备环境中绘制出一个高为200个像素,宽也为200个像素的方块。由于默认的映射模式是MM_TEXT,其逻辑坐标(在

4、各种映射模式下的坐标)和设备坐标(显示设备或打印设备坐标系下的坐标)相等。因此这个方块在1024x768的显示器上看起来要比在640x480的显示器上显得小一些,而且若将它打印在600dpi精度的激光打印机上,这个方块就会显得更小了。如表7.1所示。表7.1映射模式7.1.2坐标映射[例Ex_Draw]通过设置窗口和视口大小来改变显示的比例(1)用MFCAppWizard创建一个默认的单文档应用程序Ex_Draw。(2)在CEx_DrawView::OnDraw函数中添加下列代码:voidCEx_DrawVi

5、ew::OnDraw(CDC*pDC){CEx_DrawDoc*pDoc=GetDocument();ASSERT_VALID(pDoc);CRectrectClient;GetClientRect(rectClient);//获得当前窗口的客户区大小pDC->SetMapMode(MM_ANISOTROPIC);//设置MM_ANISOTROPIC映射模式pDC->SetWindowExt(1000,1000);//设置窗口范围pDC->SetViewportExt(rectClient.right,-re

6、ctClient.bottom);//设置视口范围pDC->SetViewportOrg(rectClient.right/2,rectClient.bottom/2);//设置视口原点pDC->Ellipse(CRect(-500,-500,500,500));}[例Ex_Draw](3)编译运行,结果如图7.1所示。图7.1改变显示比例7.1.3CPoint、CSize和CRect在图形绘制操作中,常常需要使用MFC中的CPoint、CSize和CRect等简单数据类由于CPoint(点)、CSize(大

7、小)和CRect(矩形)是对Windows的POINT、SIZE和RECT结构的封装,因此它们可以直接使用各自结构的数据成员,如下所示:typedefstructtagPOINTtypedefstructtagSIZE{{LONGx;//点的x坐标intcx;//水平大小LONGy;//点的y坐标intcy;//垂直大小}POINT;}SIZE;typedefstructtagRECT{LONGleft;//矩形左上角点的x坐标LONGtop;//矩形左上角点的y坐标LONGright;//矩形右下角点的x坐

8、标LONGbottom;//矩形右下角点的y坐标}RECT;7.1.3CPoint、CSize和CRect1.CPoint、CSize和CRect类的构造函数CPoint类带参数的常用构造函数原型如下:CPoint(intinitX,intinitY);CPoint(POINTinitPt);其中,initX和initY分别用来指定CPoint的成员x和y的值。initPt用来指定一个POINT结构

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

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

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