- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 第6章 图像编程与文字处理 —— 精雕细琢,美化应用程序 教学内容 §6.1 图形设备接口 §6.2 常用绘图函数 §6.3 绘图工具 §6.4 字体与文字处理 §6.5 位图 §6.6 综合实例——建立宾馆管理系统的启动界面 §6.7 小结 思考与练习 §6.1 图形设备接口 6.1.1 设备环境类 在Windows程序中,应用程序的输出并不直接面向物理的设备,如显示屏或打印机,而是针对一个称之为设备环境(Device Context)的逻辑设备进行操作,设备环境与实际设备之间的信息传送由Windows直接管理。 在MFC应用程序中,所有的绘制调用均通过相应的设备环境对象实现,设备环境对象封装了相应的Windows API功能,由一个32位的HDC类型句柄标识。在MFC类库中,用CDC类封装设备文本对象。 §6.1 图形设备接口 6.1.1 设备环境类 1、设备环境类(CDC) CDC类直接继承自CObject类,它是设备上下文对象的基类。CDC基类定义了设备描述表对象,并且提供在显示器、打印机或Windows用户区上绘图的方法,它封装了使用设备环境的GDI函数。 所有的绘图操作都是直接或间接运用了CDC的成员函数,这些函数有的进行设备描述表操作,有的是用来画图的,还有的函数是用来获取或设置绘图属性,为映像和视图服务的。 2、派生类CPaintDC CPaintDC是从CDC派生出来的设备描述表类,它常常在窗口的OnPaint函数中使用。查看MFC的源代码(Studio\VC98\MFC\SRC\viewcore.cpp)中的OnPaint函数的实现可以知道,OnPaint函数首先构造一个CPaintDC对象,再调用OnPrepareDC()函数将其准备好,最后以这个准备好的CPaintDC对象指针为参数,来调用OnDraw函数进行各种图形处理。 §6.1 图形设备接口 6.1.1 设备环境类 3、派生类CClientDC(管理客户区) CClientDC类只能在客户区绘图。所谓客户区是指窗口区域中去掉边框、标题栏、菜单栏、工具栏、状态栏等以外的部分,它是用户可以操作的区域。例如打开Word文档将是将某个.doc文件显示在其客户区域中。在使用CClientDC进行绘图时,一般要调用GetClientRect函数来获取客户区域的大小。 4、派生类CWindowDC(管理框架窗口) CWindowDC类直接从CDC派生,它使调用和释放整个窗口(包括客户区和非客户区)的设备环境过程自动化。CWindowDC对象在构造时调用Windows API函数GetWindowDC, 在析构时调用相应的API函数ReleaseDC,这意味着CWindowtDC对象可访问CWnd所指向的整个屏幕区域。 §6.1 图形设备接口 6.1.2 使用GDI对象 在选择GDI对象进行绘图时,往往遵循着下列的步骤: (1)?在堆栈中定义一个GDI对象(如CPen、CBrush对象),然后用相应的函数(如CreatePen、CreateSolidBrush)创建此GDI对象。 (2)? 将构造的GDI对象选入当前设备环境中,但不要忘记将原来的GDI对象保存起来。 (3)? 绘图结束后,恢复当前设备环境中原来的GDI对象。 (4)? 由于GDI对象是在堆栈中创建中,当程序结束后,框架会自动删除程序创建的GDI对象。 §6.1 图形设备接口 6.1.3 坐标映射 Windows的GDI(graphics device interface)支持两种坐标系,即逻辑坐标系和物理坐标系,分别连接应用程序和图形物理设备。物理坐标是指物理设备的坐标系,它的单位是真正的长度单位,有英寸(in)和毫米(mm)两种,它的原点在屏幕的左上角,X轴向右递增,Y轴向下递增。逻辑坐标指的是在窗口下的坐标,逻辑坐标的单位是逻辑像素。 在Windows系统中,总共有三种物理坐标(又叫设备坐标),分别是屏幕坐标、用户区坐标、全窗口坐标。 1.客户区坐标系统:客户区坐标系统是最常见的坐标系统,以窗口客户区左上角为原点(0,0),主要用于窗口客户区绘图输出以及处理窗口的一些消息。鼠标消息WM_LBUTTONDOWN、WM_MOUSEMOVE传给框架的消息参数以及CDC一些用于绘图的成员都是使用客户区坐标。 2.屏幕坐标系统:屏幕坐标系统是另一类常用的坐标系统,以屏幕左上角为原点(0,0)。一些与窗口客户区不相关的函数均以屏幕坐标为单位,例如设置和取得光标位置的函数SetCursorPos()和GetCursorPos();由于光标可以在任何一个窗口之间移动,它不属于任何一个单一的窗口,因此使用屏幕坐标。弹出式菜单使用的也是屏幕坐标。另外,CreateWindow
您可能关注的文档
- 第5章需求和消费者行为萨缪尔逊《经济学》第十八版微观经济学-(浙江财经学院)》.ppt
- 第5章非线性影视编辑教程AdobePremiereProCS3.ppt
- 第5章预应力混凝土1.ppt
- 第5篇工程项目管理软件应用.ppt
- 第5节电磁感应现象的两类情况【人教版】【课件】.ppt
- 第5节对坐标曲面积分.ppt
- 第5讲 基本共射放大电路的工作原理.ppt
- 第5讲HTML5的表单元素.ppt
- 第5讲中国宏观经济分析 (2).ppt
- 第5讲人类的社会行为 (2).ppt
- 2025年重庆电讯职业学院单招(语文)测试题库必威体育精装版.docx
- 2025年海南健康管理职业技术学院单招(语文)测试题库附答案.docx
- 2025年开封职业学院单招(语文)测试模拟题库附答案.docx
- 2025年云南省思茅市单招语文测试题库附答案.docx
- 2025年西安高新科技职业学院单招(语文)测试题库附答案.docx
- 2025年河南省焦作市单招语文测试题库必威体育精装版.docx
- 2025年青海省玉树藏族自治州单招(语文)测试题库必威体育精装版.docx
- 2025年广东环境保护工程职业学院单招(语文)测试题库附答案.docx
- 2025年福建省龙岩单招(语文)测试题库附答案.docx
- 2025年无锡商业职业技术学院单招(语文)测试模拟题库必威体育精装版.docx
文档评论(0)