MFC经典绘图清华大学

MFC经典绘图清华大学

ID:36579724

大小:645.10 KB

页数:31页

时间:2019-05-09

MFC经典绘图清华大学_第1页
MFC经典绘图清华大学_第2页
MFC经典绘图清华大学_第3页
MFC经典绘图清华大学_第4页
MFC经典绘图清华大学_第5页
资源描述:

《MFC经典绘图清华大学》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MFC绘图MFC编程学习的基本目标可以进行简单的基于MFC的图形界面编程理解Windows编程的基本概念。鉴于教学时间进度限制,更复杂的应用程序开发通过自学完成。实现基本MFC应用程序需要掌握如下内容:Windows编程基本概念文档/视图结构文档读写对话框及标准控件的使用菜单栏的使用绘图及鼠标消息的处理7/16/20212主要内容GDI与设备环境(DC)用CDC绘图应用举例绘图工具类7/16/20213图形设备接口(GDI)Windows提供了一个称为图形设备接口(GraphicsDeviceInterface,GDI)的抽象接口。GDI作为W

2、indows的重要组成部分,负责管理用户绘图操作时功能的转换。用户通过调用GDI函数与设备打交道,GDI通过不同设备提供的驱动程序将绘图语句转换为对应的绘图指令,避免了用户对硬件直接进行操作,从而实现设备无关性(显示器或打印机)。7/16/20214GDI的图形输出应用程序可以使用GDI创建如下图形输出矢量图形:画线和填充图形,包括点、直线、曲线、多边形、扇形和矩形等。光栅图形:通过光栅图形函数对以位图形式存储的数据进行操作,包括各种位图和图标的输出。屏幕:对若干行和列的像素操作打印机:对若干行和列的点阵输出直接从内存到显存的复制操作,速度快,

3、内存要求高。文本:以图形方式输出文本,以逻辑坐标为单位计算输出位置,而DOS是以行为单位。用户可以设置文本的各种效果,如加粗、斜体、设置颜色等。7/16/20215设备环境应用程序的输出面向设备环境(DeviceContext,DC),是一个虚拟逻辑设备,也称设备描述表或设备上下文。设备环境DC是由GDI创建,用来代表设备连接的数据结构。DC的主要功能允许应用程序使用一个输出设备。提供应用程序、设备驱动和输出设备之间的连接。保存当前信息,例如当前的画笔、画刷、字体和位图等图形对象及其属性,以及颜色和背景等影响图形输出的绘图模式。保存窗口剪切区域

4、(ClippingRegion),限制程序输出到输出设备中窗口覆盖的区域。7/16/20216设备坐标系统设备坐标系统x轴自左至右,y轴从上到下,坐标原点在屏幕左上角[0,0]XYO7/16/20217主要内容GDI与设备环境(DC)用CDC绘图应用举例绘图工具类7/16/20218设备环境类CDCMFC封装了DC,提供CDC类及它的子类以访问GDI。CDC类派生自CObject类,其子类包括CClientDCCMetaFileDCCPaintDCCWindowDCCObject7/16/20219设备环境类的基本功能7/16/202110CD

5、C类常用绘图函数Arc:绘制一段弧Chord:绘制弦形Ellipse:绘制椭圆或圆MoveTo:将当前位置移动到指定位置LineTo:从当前位置到指定位置画一条直线Polyline:画连接指定点的折线段PolyBezler:根据两个端点和两个控制点画贝塞尔曲线Pie:画冰块Polygon:根据两个或两个以上的顶点绘制一个多边形Rectangle:根据指定的左上角和右下角坐标绘制一个矩形RoundRect:画圆角矩形SetPixel:画一个点7/16/202111绘图颜色DWORD类型的COLORREF数据用于存放颜色值“0x00bbggrr”低

6、位字节存放红色强度值第2个字节存放绿色强度值第3个字节存放蓝色强度值高位字节存放0可用RGB宏设置颜色值,将红、绿、蓝分量值转换为COLORREF类型的颜色数据COLORREFRGB(BYTEbyRed,//redcomponentofcolorBYTEbyGreen,//greencomponentofcolorBYTEbyBlue//bluecomponentofcolor);7/16/202112常用颜色对照表例:COLLORREFred=RGB(255,0,0);7/16/202113在MFC中获取DC在如OnDraw等函数中传递一个指

7、向CDC对象的指针如OnDraw(CDC*pDC);使用构造函数构建对象一般不构造CDC对象在CWnd类的OnPaint函数中,定义CPaintDC对象CPaintDCdc(this);在CWnd类的其它函数中,定义CClientDC和CWindowDC的对象CClientDCdc(this);CWindowDCdc(this);7/16/202114CClientDC、CPaintDC和CWindowDC的区别当窗口的某个区域需要重绘时激发窗口重绘消息WM_PAINT,相应消息处理函数CWnd::OnPaint将被调用。CPaintDC一般只

8、用于OnPaint函数中,在处理完窗口重绘后,CPaintDC对象的析构函数把WM_PAINT消息从消息队列中清除,避免不断地重绘操作。坐标原点(0,

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

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

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