第6章图形设备接口与绘图1

第6章图形设备接口与绘图1

ID:42164604

大小:459.00 KB

页数:27页

时间:2019-09-09

第6章图形设备接口与绘图1_第1页
第6章图形设备接口与绘图1_第2页
第6章图形设备接口与绘图1_第3页
第6章图形设备接口与绘图1_第4页
第6章图形设备接口与绘图1_第5页
资源描述:

《第6章图形设备接口与绘图1》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第6章图形设备接口与绘图VC++程序设计1教学目标了解设备环境和图形设备接口(GDI)的基本概念。掌握常用GDI对象的使用方法。掌握如何绘制图形和输出文本。2本章主要内容设备环境和设备环境类GDl绘图对象CDC中的绘图操作绘制时钟36.1设备环境和设备环境类6.1.1设备环境图形设备接口(GraphicsDeviceInterface,GDI)是Windows的重要组成部分,用户通过调用GDI函数使用硬件设备,GDI通过不同设备提供的驱动程序将绘图语句转换为对应的绘图指令,避免了用户对硬件直接进行操作,从而实现了设备无关性。4为

2、了体现Windows的设备无关性,应用程序的输出不直接面向显示器或打印机等物理设备,而是面向一个称为设备环境(DeviceContext,DC)的虚拟逻辑设备。设备环境也叫设备描述表或设备上下文,它是Windows定义的一个数据结构,该数据结构包含了向设备输出时所需要的绘图属性。在使用任何GDI函数之前,必须首先创建一个设备环境。Windows应用程序通过设备环境操作物理设备的绘图过程56.1.2设备环境类1.设备环境类及其功能①CDC②CClientDC③CWindowDC④CPaintDC⑤CMetaFileDC2.设备环境

3、类CDC的内容①当前GDI绘图对象及其管理②映射模式③绘图操作66.1.3获取设备环境1.在视图类的OnDraw()中输出图形或文本使用MFCAppWizard生成SDI或MDI应用程序时,视图类的OnDraw()的参数pDC就是一个指向CDC的指针,在OnDraw()中绘图就是使用指针pDC标志的设备环境。该指针是在程序响应WM_PAINT消息时由OnPain()创建并传递给OnDraw()的。在视图的客户区中输出一行文本和绘制一个矩形:72.使用设备环境类的对象获取设备环境如果不是在视图类的OnDraw()中绘图,则需要自己

4、声明设备环境类的对象,并使用this指针初始化该对象。下面是单击消息处理函数中绘制一个椭圆的代码:voidCEx6_1View::OnLButtonDown(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandlercodehereand/orcalldefaultCClientDCdc(this);//声明客户区设备环境CRectr;GetClientRect(&r);//获取客户区大小dc.Ellipse(r);//绘制椭圆CView::OnLButtonDown(nFlags,

5、point);}83.使用CWnd类的GetDC()获取设备环境如果绘图操作不是在WM_PAINT消息处理函数中,还可以通过调用CWnd类的成员函数GetDC()获取设备环境,调用ReleaseDC()释放设备环境。例如,右击消息处理函数中绘制一个圆角矩形的代码如下:voidCEx6_1View::OnRButtonDown(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandlercodehereand/orcalldefaultCDC*pDC=GetDC();//申请设备环境pD

6、C->RoundRect(80,80,400,400,50,50);//绘制圆角矩形ReleaseDC(pDC);//释放设备环境CView::OnRButtonDown(nFlags,point);}96.2GDl绘图对象6.2.1GDI对象分类CPen类CBrush类CFont类CRgn类CBitmap类CPalette类106.2.2CPen类1.库存画笔库存画笔有三种:BLACK_PEN(黑色画笔)、WHITE_PEN(白色画笔)和NULL_PEN(空画笔)。2.自定义画笔(1)创建画笔方法一:使用CPen类的带参构造函

7、数定义画笔对象,函数原型如下:CPen(intnPenStyle,intnWidth,COLORREFcrColor);方法二:使用CPen类的无参构造函数定义画笔对象,再调用CreatePen()创建指定画笔。CreatePen()原型如下:BOOLCreatePen(intnPenStyle,intnWidth,COLORREFcrColor);11(2)装载画笔创建一个画笔后,必须将画笔选入设备环境才能使用。可以使用CDC类的成员函数SelectObject()将新的画笔选入设备环境,该函数原型如下:CPen*Select

8、Object(CPen*pPen);(3)还原画笔当绘图完成后,应该调用CDC类的成员函数SelectObject()恢复设备环境原来的画笔,并调用CGdiObject类的成员函数DeleteObject()释放画笔所占的内存资源。示例:pDC->SelectO

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

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

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