欢迎来到天天文库
浏览记录
ID:61748416
大小:1.81 MB
页数:90页
时间:2020-02-06
《第6讲--利用CDC实现绘图程序.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第六讲利用CDC实现绘图程序中国地质大学(武汉)计算机学院计算机高级语言(C++)从MFC示例开始6.1图形绘制的基础知识6.2VC的文本操作6.3CDC的绘图操作6.3Windows绘图工具本章内容教学要点本章内容包括设备环境与绘图程序的关系,设备环境主要功能以在MFC对应的CDC类,利用设备环境类CDC操纵文本(文本的字体、颜色和属性控制),利用设备环境类CDC实现简单图形的绘制(点、线、椭圆、矩形和弧等),各种绘图工具(画笔、画刷)使用。要求了解CDC编写的绘图程序调用GDI,进而调用设备驱动程序的流程,CDC的几个派生类及其使用,掌握CDC的文本操作和图形绘制、常见的
2、绘图参数设置函数的用法、常见的绘图工具画笔和画刷的使用,熟练掌握调用API或CDC成员函数选择库存中的绘图工具。从MFC示例开始利用类向导,生成一个名为MfcExam的标准MFC多文档工程类视图资源视图文件视图视图区,也叫客户区,对应的类是CMfcExamView,所有有关视图区的显示,都是在CMfcExamView中的OnDraw函数中完成6.1图形绘制的基本知识6.1.1图形操作的接口——GDI6.1.2图形操作有关的CDC类6.1.3CDC的内容6.1.1图形操作的接口——GDI任何图形程序的输出,都离不开图形设备接口GDI(GraphicDeviceInterface
3、),它是管理Windows应用程序在窗口内的绘图操作和与此相关的许多其它信息。如图形设备(打印机、显示器)的信息、绘图的坐标系统和映射模式、绘图工具的当前状态(什么样的画笔、画刷、文本的前景色与背景色、文本所使用的字体)。Windows的GDI绘制的各种图形(点、线、圆、多边形、矩形等)是与设备无关的,即在屏幕的窗口内绘图与在打印机上绘图是相似的。GDI是一个可执行程序,它接收Windows应用程序的绘图请求(表现为GDI调用),并将它们传送给相应的设备驱动程序,再由设备驱动程序驱动相应的硬件设备,如打印机或显示器输出。6.1.1续应用程序使用GDI可以对三种类型的图形进行操
4、作:文本操作、矢量图形操作和光栅图形操作(图像操作)。(1)文本操作是以逻辑坐标为单位来计算文本的输出位置,用户可以通过各种GDI函数来作出具有各种效果的文本。(2)矢量图形指的是利用画点、直线、曲线(折线、贝塞尔曲线等)、多边形、扇形、矩形等函数所绘制的图形。(3)光栅图形操作是指以光栅图形函数对以位图形式存储的数据进行操作,它包括各种位图和图标的输出,其在屏幕上表现为对若干个行和列的像素操作。光栅图形操作是直接从内存到显存的拷贝操作,其缺点是需要额外的内存空间,优点是操作速度快。6.1.2图形操作有关的CDC类1.再论设备描述表设备描述表是一个用来确定任何设备(如显示器、
5、打印机)的GDI输出位置和内容属性的集合,是Windows系统下的一个保存GDI内部数据的数据结构,它与特定的显示设备相关。对于显示器,设备描述表总是与显示器上的特定窗口相关。设备描述表中保存了显示图形所需要的各种参数值,如显示颜色、显示坐标、显示方式和背景颜色。在Windows下程序员对所有的绘图功能的调用,都是通过设备描述表来进行的。6.1.2续2.类CDCCDC是后面所讲的其他DC类的基类。CDC基类定义了设备描述表对象,并且提供在显示器、打印机或Windows用户区上绘图的方法,它封装了使用设备环境的GDI函数。所有的绘图操作都是直接或间接运用了CDC的成员函数,这些
6、函数有的进行设备描述表操作,有的是用来画图的,还有的函数是用来获取或设置绘图属性,为映像和视点服务的。在由AppWizard创建的MFC应用程序中,视图类的OnDraw成员函数是一个处理图形的关键虚函数,它带有一个指向设备环境对象的指针pDC,MFC的绘图成大多都是通过pDC这个指针来加以访问的。下面为CDC类的函数的分类分类用途位图函数操作位图和像素的函数剪裁函数定义和操作剪裁设备边界的函数坐标函数在物理设备和逻辑设备之间转换的函数设备描述表函数获取有关DC及其属性信息的函数绘图属性函数为DC获取和设置颜色及模式的函数绘图工具函数枚举在DC中可用的笔和刷子的函数椭圆和多边形
7、函数绘制椭圆和多边形函数字体函数获取字体属性的函数线输出函数在DC上绘制线的函数映像函数创建、获取和控制原点,扩展窗口和视及为DC获取和设置映像模式的函数区域函数填充区域和控制区域颜色的函数简单绘图函数提供简单矩形和图标的绘制特性函数文本函数输出文本并获取DC当前选中的字体信息的函数6.1.3CDC的内容1.派生类CPaintDC(1)CPaintDC是从CDC派生出来的设备描述表类,它常常在窗口的OnPaint函数中使用。查看MFC的源代码(StudioVC98MFCSRCviewcore.c
此文档下载收益归作者所有