第4章画图软件的开发.ppt
《第4章画图软件的开发.ppt》由会员分享,可在线阅读,更多相关《第4章画图软件的开发.ppt(27页珍藏版)》请在三一文库上搜索。
1、VC+程序设计项目实践,贾振华,第4章 画图软件的开发,学习目标: 1.Windows中MFC关于设备环境类的基本概念 2.图形设备接口(GDI)的基础概念 3.如何使用画笔来绘制直线或其他几何图形 4.如何通过画刷用颜色来填充区域,4.1基本概念,Visual C+的MFC封装了许多与设备环境(DC)相关的类,通过这些类用户可以很容易地对设备环境(DC)进行处理。这些类不仅包含DC自身,而且还有字体、画笔和画刷等绘图工具。即Windows图形编程就是针对Windows自带的图形设备接口(GDI)函数库和设备环境(DC)进行操作,通过调用这些自带的库函数来完成绘图。进行这些操作的时候需要确定绘
2、图对象,如画笔、画刷和字体等;确定绘制时的缩放尺寸的映射模式;确定其他参数,如文本的对齐参数,多边形的填充状态参数等。,4.1基本概念 4.1.1设备环境类,MFC库设备环境类基类CDC包含了绘图所需要的所有成员函数。由CDC派生了CClientDC、CMetaFileDC、CPaintDC和CWindowDC类,其类层次结构如图4-1所示。,图4-1 类CDC层次结构图,4.1基本概念 4.1.1设备环境类,1CClientDC类 如果构造CClientDC对象,则设备环境的映射区域限于客户区域,不能在客户区域外绘图。原点(0,0)在客户区左上角。可通过下列方式创建一个CDC对象,例如: C
3、ClientDC dc(this);,4.1基本概念 4.1.1设备环境类,2CMetaFileDC类 该类封装了在一个Windows图元文件中绘图的方法。图元文件是一系列与设备无关的图片的集合,由于它对图像的保存比像素更精确,往往在要求较高的场合下使用。,4.1基本概念 4.1.1设备环境类,3CPaintDC类 当需要重写OnPaint函数的时候,就需要使用CPaintDC类。默认的OnPaint函数会使用已经设置好的设备环境来调用OnDraw函数 注意:CPaintDC类的构造函数和析构函数所完成的工作都是针对显示用的。,4.1基本概念 4.1.1设备环境类,3CPaintDC类(续)
4、例如: void CMyView:OnPaint() CPaintDC dc(this); OnPrepareDC( ,4.1基本概念 4.1.1设备环境类,4CWindowDC类 允许在窗口的任意位置进行绘图,点(0,0)指整个窗口的左上角。除了以上所述外,还需要注意的是,当利用CDC对象绘图的时候,所绘制的图形都要依赖于设备环境的状态,如画笔、画刷、字体GDI绘图对象和当前映射模式的选择等。可以使用CDC成员函数了设置所需要的设备环境状态。,4.1基本概念 4.1.2画笔和画刷,当程序需要直接在屏幕或打印机上绘图的时候,需要调用GDI函数,GDI函数包含了一些用于绘制图形、位图以及文本的函
5、数,其类层次结构如图4-2所示。,图4-2 类CGDIObject层次结构图,4.1基本概念 4.1.2画笔和画刷,Windows的设备环境是GDI的关键元素,它代表了物理设备。每一个C+设备环境对象都有与之对应的Windows设备环境,并且通过一个32位类型的HDC句柄来标识。 对于显示设备环境,在消息处理函数内部所进行GDI选择在函数退出后不再有效,因此在进入其他处理函数的时候,每次都必须重新设置设备环境。 Windows句柄是唯一能够持久存在的GDI标识。可以使用GDI对象指针调用GetSafeHandle函数可以获得它Windows句柄,再利用GDI对象类的FromHandle函数将句
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 画图 软件 开发
链接地址:https://www.31doc.com/p-2987187.html