文档详情

VC实验二MFC曲线绘制实验.doc

发布:2017-08-14约字共13页下载文档
文本预览下载声明
实验二、MFC曲线绘制实验 班级: 姓名: 学号: 2.1实验目的 了解Windows图形处理的基本原理。 掌握Windows图形和文本输出。 2.2实验平台 Windows XP professional操作系统。 VC6.0集成开发环境。 2.3实验内容 MFC曲线绘制实现 2.4实验原理 图形设备接口和接口环境 Windows 是一个图形操作系统,Windows 使用图形设备接口(GDI)进行图 形和文本输出,MFC 封装了GDI 对象,提供了CGdiObject 类和CDC 类支持图形和文本输出。 Windows 引入GDI 的主要目的是为了实现设备无关性。所谓设备无关性,是指操作系统屏蔽了硬件设备的差异,使用户编程时一般无须考虑设备的类型。 应用程序可以使用GDI创建3种类型的图像: 适量图形:如各种集合图形。 光栅图形:指光栅图形函数对以位图形式存储的数据进行操作,它包括各种位图和图标的输出。 文本:以逻辑坐标为单位进行计算,Windows中的文本是按图形方式输出的。 设备环境(Device Context,DC) 为了体现 Windows 的设备无关性,应用程序的输出不直接面向显示器或打印机等物理设备,而是面向一个称之为设备环境(Device Context,DC)的虚拟逻辑设备。设备环境,DC 也称设备描述表或设备上下文。设备环境DC 是由GDI 创建、用来代表设备连接的数据结构。DC 的主要功能有以下几种: (1) 允许应用程序使用一个输出设备。 (2) 提供Windows 应用程序、设备驱动和输出设备之间的连接。 (3) 保存当前信息,例如当前的画笔、画刷、字体和位图等图形对象及其属性,以及颜色和背景等影响图形输出的绘图模式。 (4) 保存窗口剪切区域(Clipping Region),限制程序输出到输出设备中窗口覆盖的区域。 设备环境类CDC及其功能 设备环境类 功能描述 CDC 所有设备环境类的基类,对GDI 的所有绘图函数进行了封装;可用来直接访问整个显示器或非显示设备(如打印机等)的上下文。 CPaintDC CPaintDC 用于响应窗口重绘消息(WM_PAINT)的绘图输出,不仅可对客户区进行操作,还可以对非客户区进行操作。 CClientDC 代表窗口客户区的设备环境,一般在响应非窗口消息并对客户区绘图时要用到该类。 CWindowDC 代表整个窗口的设备环境,包括客户区和非客户区;除非要自己绘制窗口边框和按钮,否则一般不用它。 CMetaFileDC 代表Windows 图元文件的设备环境;一个Windows 图元文件包括一系列的图形设备接口命令,可以通过重放这些命令来创建图形;对CMetaFileDC 对象进行的各种绘制操作可以被记录到一个图元文件中。 设备环境类CDC 的一些常用函数 颜色的设置 Windows 用COLORREF 类型的数据存放颜色,它实际上是一个32 位整数。任何一种颜色都是由红、绿、蓝3 种基本颜色组成的,COLORREF 类型数据的低位字节存放红色强度值,第2 个字节存放绿色强度值,第3个字节存放蓝色强度值,高位字节为0,每一种颜色分量的取值范围为0~255。 直接设置 COLORREF 类型的数据不太方便。MFC 提供了RGB 宏,用于设置颜色,它将其中的红、绿、蓝分量值转换为COLORREF 类型的颜色数据,其使用形式为:RGB(byRed,byGreen,byBlue) 其中参数 byRed、byGreen 和byBlue 分别表示红、绿、蓝分量值(范围0~255)。 例如, RGB(0,0,0)表示黑色,RGB(255,0,0)表示红色,RGB(0,255,0)表示绿色,RGB(0,0,255)表示 蓝色。表3-3 列出了一些常用颜色的RGB 值。 很多涉及到颜色的 GDI 函数都需要使用COLORREF 类型的参数,如设置背景色的成员函数CDC::SetBkColor( )、设置文本颜色的成员函数CDC::SetTextColor( )。 下面的代码说明如何使用 RGB 宏。 COLORREF rgbBkClr=RGB(192,192,192); //定义灰色 pDC-SetBkColor(rgbBkClr); //背景色为灰色 pDC-SetTextColor(RGB(0,0,255)); //文本颜色为蓝色 获取设备环境 在一个MFC 应用程序中获得DC 的方法主要有两种:一是接受一个参数为指向CDC 对象的指针;二是声明一个 MFC 设备环境类的对象,并使用this 指针为该对象赋值。 GDI 对象CGdiObject 在默认状态下,当用户创建一个设备环境并在其中绘图时,系统使用设备环境默认的绘图工具及其属性。如果要使用不同
显示全部
相似文档