文档详情

经典MFC绘图编程.ppt

发布:2017-06-17约字共36页下载文档
文本预览下载声明
阴影画刷 BOOL Cbrush::CreateHatchBrush( int nIndex, // 指定阴影样式 COLORREF crColor // 指定阴影颜色 ); 创建一个黄色的实心画刷 CBrush brush; brush.CreateHatchBrush(HS_DIAGCROSS, RGB(255,255,0)); * * 在OnDraw函数中添加如下代码,运行结果如右图。 * * 使用预定义的画笔、画刷或字体 使用CDC类的SelectStockObject函数,可以使用预定义的画笔、画刷或字体 CGdiObject* SelectStockObject( int nIndex ); 如pDC- SelectStockObject(GRAY_BRUSH); nIndex的部分可取值如下(完整参数列表可参考MSDN) BLACK_BRUSH:黑色画刷 DKGRAY_BRUSH:深灰色画刷 GRAY_BRUSH:灰色画刷 HOLLOW_BRUSH:中空画刷,不做填充 LTGRAY_BRUSH:浅灰色画刷 NULL_BRUSH:无画刷,不做填充 WHITE_BRUSH:白色画刷 BLACK_PEN:黑色画笔 NULL_PEN:无画笔,不画线 WHITE_PEN:白色画笔 ANSI_FIXED_FONT:?ANSI固定系统字体 DEVICE_DEFAULT_FONT:设备缺省字体 * * 小结 掌握基本绘图方法 掌握鼠标事件相应方法 掌握绘图工具的使用方法 * * * * * * * MFC绘图编程 MFC编程学习的基本目标 可以进行简单的基于MFC的图形界面编程 理解Windows编程的基本概念。 鉴于教学时间进度限制,更复杂的应用程序开发通过自学完成。 实现基本MFC应用程序需要掌握如下内容: Windows编程基本概念 文档/视图结构 文档读写 对话框及标准控件的使用 菜单栏的使用 绘图及鼠标消息的处理 * * 主要内容 GDI与设备环境(DC) 用CDC绘图 应用举例 绘图工具类 * * 图形设备接口(GDI) Windows提供了一个称为图形设备接口(Graphics Device Interface,GDI)的抽象接口。 GDI 作为Windows的重要组成部分,负责管理用户绘图操作时功能的转换。 用户通过调用GDI 函数与设备打交道,GDI 通过不同设备提供的驱动程序将绘图语句转换为对应的绘图指令,避免了用户对硬件直接进行操作,从而实现设备无关性(显示器或打印机)。 * * GDI的图形输出 应用程序可以使用GDI 创建如下图形输出 矢量图形:画线和填充图形,包括点、直线、曲线、多边形、扇形和矩形等。 光栅图形:通过光栅图形函数对以位图形式存储的数据进行操作,包括各种位图和图标的输出。 屏幕:对若干行和列的像素操作 打印机:对若干行和列的点阵输出 直接从内存到显存的复制操作,速度快,内存要求高。 文本:以图形方式输出文本,以逻辑坐标为单位计算输出位置,而DOS是以行为单位。用户可以设置文本的各种效果,如加粗、斜体、设置颜色等。 * * 设备环境 应用程序的输出面向设备环境(Device Context,DC),是一个虚拟逻辑设备,也称设备描述表或设备上下文。设备环境DC 是由GDI 创建,用来代表设备连接的数据结构。 DC 的主要功能 允许应用程序使用一个输出设备。 提供应用程序、设备驱动和输出设备之间的连接。 保存当前信息,例如当前的画笔、画刷、字体和位图等图形对象及其属性,以及颜色和背景等影响图形输出的绘图模式。 保存窗口剪切区域(Clipping Region),限制程序输出到输出设备中窗口覆盖的区域。 * * 设备坐标系统 设备坐标系统 x轴自左至右,y轴从上到下,坐标原点在屏幕左上角 [0,0] X Y O * * 主要内容 GDI与设备环境(DC) 用CDC绘图 应用举例 绘图工具类 * * 设备环境类CDC MFC封装了DC,提供CDC 类及它的子类以访问GDI。 CDC类派生自CObject类,其子类包括 CClientDC CMetaFileDC CPaintDC CWindowDC CObject * * 设备环境类的基本功能 * * CDC类常用绘图函数 Arc:绘制一段弧 Chord:绘制弦形 Ellipse:绘制椭圆或圆 MoveTo:将当前位置移动到指定位置 LineTo:从当前位置到指定位置画一条直线 Polyline:画连接指定点的折线段 PolyBezler:根据两个端点和两个控制点画贝塞尔曲线 Pie:画冰块 Polygon:根据两个或两个以上的顶点绘制一个多边形 Rectangle:根据指定的左上角和右下角坐标绘制一个矩形 RoundRect
显示全部
相似文档