欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > PPT文档下载
    分享到微信 分享到微博 分享到QQ空间

    第4章画图软件的开发.ppt

    • 资源ID:595763       资源大小:693KB        全文页数:27页
    • 资源格式: PPT        下载积分:7金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要7金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第4章画图软件的开发.ppt

    VC+VC+程序设计项目实践程序设计项目实践单击此处编辑母版标题样式单击此处编辑母版标题样式第第4 4章章 画图软件的开发画图软件的开发学习目标:学习目标:1.Windows中中MFC关于设备环境类的基本概念关于设备环境类的基本概念2.图形设备接口图形设备接口(GDI)的基础概念的基础概念3.如何使用画笔来绘制直线或其他几何图形如何使用画笔来绘制直线或其他几何图形4.如何通过画刷用颜色来填充区域如何通过画刷用颜色来填充区域单击此处编辑母版标题样式单击此处编辑母版标题样式4.14.1基本概念基本概念Visual C+的的MFC封装了许多与设备环境(封装了许多与设备环境(DC)相关的类,通过这些类用户可以很容易地对设备相关的类,通过这些类用户可以很容易地对设备环境(环境(DC)进行处理。这些类不仅包含)进行处理。这些类不仅包含DC自身,自身,而且还有字体、画笔和画刷等绘图工具。即而且还有字体、画笔和画刷等绘图工具。即Windows图形编程就是针对图形编程就是针对Windows自带的图自带的图形设备接口(形设备接口(GDI)函数库和设备环境()函数库和设备环境(DC)进)进行操作,通过调用这些自带的库函数来完成绘图。行操作,通过调用这些自带的库函数来完成绘图。进行这些操作的时候需要确定绘图对象,如画笔、进行这些操作的时候需要确定绘图对象,如画笔、画刷和字体等;确定绘制时的缩放尺寸的映射模画刷和字体等;确定绘制时的缩放尺寸的映射模式;确定其他参数,如文本的对齐参数,多边形式;确定其他参数,如文本的对齐参数,多边形的填充状态参数等。的填充状态参数等。单击此处编辑母版标题样式单击此处编辑母版标题样式4.14.1基本概念基本概念4.1.14.1.1设备环境类设备环境类 MFC库设备环境库设备环境类基类类基类CDC包含包含了绘图所需要的了绘图所需要的所有成员函数。所有成员函数。由由CDC派生了派生了CClientDC、CMetaFileDC、CPaintDC和和CWindowDC类,类,其类层次结构如其类层次结构如图图4-1所示。所示。图图4-1 类类CDC层次结构图层次结构图单击此处编辑母版标题样式单击此处编辑母版标题样式4.14.1基本概念基本概念4.1.14.1.1设备环境类设备环境类1CClientDC类类如果构造如果构造CClientDC对象,则设备环境的映射区对象,则设备环境的映射区域限于客户区域,不能在客户区域外绘图。原点域限于客户区域,不能在客户区域外绘图。原点(0,0)在客户区左上角。可通过下列方式创建)在客户区左上角。可通过下列方式创建一个一个CDC对象,例如:对象,例如:CClientDC dc(this););单击此处编辑母版标题样式单击此处编辑母版标题样式4.14.1基本概念基本概念4.1.14.1.1设备环境类设备环境类2CMetaFileDC类类该类封装了在一个该类封装了在一个Windows图元文件中绘图的图元文件中绘图的方法。图元文件是一系列与设备无关的图片的集方法。图元文件是一系列与设备无关的图片的集合,由于它对图像的保存比像素更精确,往往在合,由于它对图像的保存比像素更精确,往往在要求较高的场合下使用。要求较高的场合下使用。单击此处编辑母版标题样式单击此处编辑母版标题样式4.14.1基本概念基本概念4.1.14.1.1设备环境类设备环境类3CPaintDC类类当需要重写当需要重写OnPaint函数的时候,就需要使用函数的时候,就需要使用CPaintDC类。默认的类。默认的OnPaint函数会使用已经函数会使用已经设置好的设备环境来调用设置好的设备环境来调用OnDraw函数函数注意:注意:CPaintDC类的构造函数和析构函数所完类的构造函数和析构函数所完成的工作都是针对显示用的。成的工作都是针对显示用的。单击此处编辑母版标题样式单击此处编辑母版标题样式4.14.1基本概念基本概念4.1.14.1.1设备环境类设备环境类3CPaintDC类(续)类(续)例如:例如:void CMyView:OnPaint()CPaintDC dc(this);OnPrepareDC(&dc);dc.TextOut(0,0,for the display,not the printer);OnDraw(&dc);单击此处编辑母版标题样式单击此处编辑母版标题样式4.14.1基本概念基本概念4.1.14.1.1设备环境类设备环境类4CWindowDC类类允许在窗口的任意位置进行绘图,点(允许在窗口的任意位置进行绘图,点(0,0)指)指整个窗口的左上角。除了以上所述外,还需要注整个窗口的左上角。除了以上所述外,还需要注意的是,当利用意的是,当利用CDC对象绘图的时候,所绘制的对象绘图的时候,所绘制的图形都要依赖于设备环境的状态,如画笔、画刷、图形都要依赖于设备环境的状态,如画笔、画刷、字体字体GDI绘图对象和当前映射模式的选择等。可绘图对象和当前映射模式的选择等。可以使用以使用CDC成员函数了设置所需要的设备环境状成员函数了设置所需要的设备环境状态。态。单击此处编辑母版标题样式单击此处编辑母版标题样式4.14.1基本概念基本概念4.1.24.1.2画笔和画刷画笔和画刷当程序需要直接在屏当程序需要直接在屏幕或打印机上绘图的幕或打印机上绘图的时候,需要调用时候,需要调用GDI函数,函数,GDI函数包含函数包含了一些用于绘制图形、了一些用于绘制图形、位图以及文本的函数,位图以及文本的函数,其类层次结构如图其类层次结构如图4-2所示。所示。图图4-2 类类CGDIObject层次结构图层次结构图单击此处编辑母版标题样式单击此处编辑母版标题样式4.14.1基本概念基本概念4.1.24.1.2画笔和画刷画笔和画刷Windows的设备环境是的设备环境是GDI的关键元素,它代的关键元素,它代表了物理设备。每一个表了物理设备。每一个C+设备环境对象都有与设备环境对象都有与之对应的之对应的Windows设备环境,并且通过一个设备环境,并且通过一个32位类型的位类型的HDC句柄来标识。句柄来标识。对于显示设备环境,在消息处理函数内部所进行对于显示设备环境,在消息处理函数内部所进行GDI选择在函数退出后不再有效,因此在进入其选择在函数退出后不再有效,因此在进入其他处理函数的时候,每次都必须重新设置设备环他处理函数的时候,每次都必须重新设置设备环境。境。Windows句柄是唯一能够持久存在的句柄是唯一能够持久存在的GDI标识。标识。可以使用可以使用GDI对象指针调用对象指针调用GetSafeHandle函数函数可以获得它可以获得它Windows句柄,再利用句柄,再利用GDI对象类对象类的的FromHandle函数将句柄转化为对应的函数将句柄转化为对应的GDI对对象。象。单击此处编辑母版标题样式单击此处编辑母版标题样式4.14.1基本概念基本概念4.1.14.1.1设备环境类设备环境类例子:例子:CFont*pOldFont=pDC-SelectObject(&newFont);/m_hOldFont为数据成员,保存先前字体对象句柄为数据成员,保存先前字体对象句柄m_hOldFont=(HFONT)pOldFont-GetSafeHandle();./可在其他函数中,恢复可在其他函数中,恢复m_hOldFont句柄对应的字体对象。句柄对应的字体对象。pDC-SelectObject(CFont:FromHandle(m_hOldFont);单击此处编辑母版标题样式单击此处编辑母版标题样式4.14.1基本概念基本概念4.1.24.1.2画笔和画刷画笔和画刷1画笔画笔命令格式:命令格式:CPen(int nPenStyle,int nWidth,COLORREF crColor);使用说明:使用说明:画笔因为在设备单元中绘图,所以不受当前绘图画笔因为在设备单元中绘图,所以不受当前绘图模式大小因素的影响。因此它在绘制一条超过视模式大小因素的影响。因此它在绘制一条超过视图规模的直线时非常有用。画笔的基本线形如表图规模的直线时非常有用。画笔的基本线形如表4-1所示。所示。单击此处编辑母版标题样式单击此处编辑母版标题样式4.14.1基本概念基本概念4.1.24.1.2画笔和画刷画笔和画刷线形参数线形参数说明说明PS_SOLID创建一个实线画笔创建一个实线画笔PS_DOT创建一个点线画笔。这种类型只对宽度是一的画笔有效。更宽创建一个点线画笔。这种类型只对宽度是一的画笔有效。更宽的画笔只能画的画笔只能画PS_SOLID。PS_DASH创建一个点划线画笔。如果画笔宽度超过一,只能画创建一个点划线画笔。如果画笔宽度超过一,只能画PS_SOLIDPS_DASHDOT创建一个画笔交替创建一个画笔交替DASHS和和DOTS。如果画笔宽度超过一,只。如果画笔宽度超过一,只能画能画PS_SOLIDPS_NULL创建一个空画笔,这个画笔什么都不画创建一个空画笔,这个画笔什么都不画PS_INSIDEFRAME创建一个画笔,在由创建一个画笔,在由GDI函数产生的封闭图形的框架中绘制直函数产生的封闭图形的框架中绘制直线,例如椭圆和矩形函数。线,例如椭圆和矩形函数。PS_ALTERNATE只能被用于装饰画笔并且创建一个为每个像素设置的画笔只能被用于装饰画笔并且创建一个为每个像素设置的画笔表表4-1 画笔类型画笔类型单击此处编辑母版标题样式单击此处编辑母版标题样式4.14.1基本概念基本概念4.1.24.1.2画笔和画刷画笔和画刷 CPen aRedPen aRedPen.Create(PS_SOLID,RGB(255,0,0);/创建一个创建一个画红色实线的画笔画红色实线的画笔或者:或者:CPen aDottedRedPen(PS_DOT,1,RGB(255,0,0);/创建一个画绿色点线的画笔创建一个画绿色点线的画笔单击此处编辑母版标题样式单击此处编辑母版标题样式4.14.1基本概念基本概念4.1.24.1.2画笔和画刷画笔和画刷2画刷画刷命令格式:命令格式:CBrush(COLORREF crColor);可以使用以下的方法构造一个绿色的画刷:可以使用以下的方法构造一个绿色的画刷:CBrush aGreenBrush(RGB(0,255,0);单击此处编辑母版标题样式单击此处编辑母版标题样式4.14.1基本概念基本概念4.1.34.1.3颜色对话框颜色对话框每一种每一种Windows颜色都是通过颜色都是通过8位的红(位的红(R)、)、绿(绿(G)、蓝()、蓝(B)的值来表示的。面向颜色的)的值来表示的。面向颜色的GDI函数可以接收函数可以接收32位的位的COLORREF参数。参数。Windows的的RGB宏可以将宏可以将8位的红、绿、蓝值转位的红、绿、蓝值转化成化成COLORREF参数,通过设定不同的参数,通过设定不同的RGB颜色颜色值可以调配出更多的颜色。使用颜色对话框就可值可以调配出更多的颜色。使用颜色对话框就可以选择一种颜色。以选择一种颜色。单击此处编辑母版标题样式单击此处编辑母版标题样式4.14.1基本概念基本概念4.1.34.1.3颜色对话框颜色对话框CColorDialog颜色选择对话框的使用:首先通过颜色选择对话框的使用:首先通过调用调用CColorDialog类的构造函数类的构造函数 CColorDialog:CColorDialog(COLORREF clrInit=0,DWORD dwFlags=0,CWnd*pParentWnd=NULL)构造一个对象,其中构造一个对象,其中clrInit为初始颜色。通过调为初始颜色。通过调用用DoModal()创建对话框,在返回后调用创建对话框,在返回后调用COLORREF CColorDialog:GetColor()得到用得到用户选择的颜色值。例如:户选择的颜色值。例如:CColorDialog dlgColor;/构造颜色对话构造颜色对话框框 if(dlgColor.DoModal()/显示颜色对话框显示颜色对话框

    注意事项

    本文(第4章画图软件的开发.ppt)为本站会员(王**)主动上传,优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知优知文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知优知文库网,我们立即给予删除!

    收起
    展开