- 3
- 0
- 约2.43千字
- 约 18页
- 2020-07-06 发布于浙江
- 举报
第6章 图形与图像编程基础;本章主要学习内容:
图形处理的基本原理:
图形设备接口
设备环境
GDI坐标系
映射模式
使用画笔和画刷绘制图形
文本与字体
位图、图标和光标; Windows图形设备接口(GDI)是为与设备无关的图形设计的。所谓设备的无关性,就是操作系统屏蔽了硬件设备的差异,因而设备无关性能使用户编程时无需考虑特殊的硬件设置。;6.1 图形设备接口;图形设备接口GDI管理Windows应用程序图形的绘制,在应用程序中,通过调用GDI函数绘制不同尺寸、颜色、风格的几何图形、文本和位图。这些图形处理函数组成了图形设备接口GDI。
GDI是形成Windows核心的三种动态链接库之一,MFC将GDI函数封装在一个名为CDC的设备环境类中,因此我们可以通过调用CDC类的成员函数来完成绘图操作。
所谓设备无关性,是指操作系统屏蔽了硬件设备的差异,使用户编程时一般无需考虑设备的类型,如不同种类的显示器或打印机。 ;;
设备描述表即为设备环境的属性的集合。;Windows绘图过程和设备无关性的实现:;应用程序;6.1.2 设备环境;设备环境中的“设备”是指任何类型的显示器或打印机等输出设备,绘图时用户不用关心所使用设备的编程原理和方法。所有的绘制操作必须通过设备环境进行间接的处理,Windows自动将设备环境所描述的结构映射到相应的物理设备上。
从根本上来说,设备环境DC是一个Windows数据结构,该结构存储着程序向设备输出时所需要的信息,应用程序利用它定义图形对象及其属性,并实现应用程序、设备驱动程序和输出设备之间绘图命令的转换。
在Windows中不使用DC无法进行输出,在使用任何GDI绘图函数之前,必须建立一个设备环境。;获取设备环境DC的方法: ;如果采用MFC方法编程,MFC提供了不同类型的DC类,每一个类都封装了DC句柄,并且它们的构造函数自动调用获取DC的API函数,析构函数自动调用释放DC的API函数。因此,在程序中通过声明一个MFC设备环境类的对象就自动获取了一个DC,而当该对象被销毁时就自动释放了获取的DC。MFC AppWizard应用程序向导创建的OnDraw()函数自动支持所获取的DC。
MFC的DC类包括CDC、CPaintDC、CClientDC、CWindowDC和CMetaFileDC等,其中CDC类是MFC设备环境类的基类,其它的MFC设备环境类都是CDC的派生类。 ;CDC类既作为其它MFC设备环境类的基类,又可以作为一个一般的设备环境类使用。利用它可以访问设备属性和设置绘图属性。CDC类对GDI的所有绘图函数进行了封装。
CPaintDC类是OnPaint()函数使用的设备环境类,它代表一个窗口的绘图画面。如果添加WM_PAINT消息处理函数OnPaint(),就需要使用CPaintDC类来定义一个设备环境对象。
CClientDC类代表了客户区设备环境。当在客户区实时绘图时,需要利用CClientDC类定义一个客户区设备环境。
CWindowDC类代表了整个程序窗口设备环境,可以在整个窗口区域绘图。 ;6.1.3 GDI坐标系和映射模式 ;设备坐标系分为屏幕坐标系、窗口坐标系和客户区坐标系三种相互独立的坐标系。
屏幕坐标系以屏幕左上角为原点,一些与整个屏幕有关的函数均采用屏幕坐标,如GetCursorPos()、SetCursorPos()、CreateWindow()、MoveWindow()。弹出式菜单使用的也是屏幕坐标。
窗口坐标系以窗口左上角为坐标原点,它包括窗口标题栏、菜单栏和工具栏等范围。
客户区坐标系以窗口客户区左上角为原点,主要用于客户区的绘图输出和窗口消息的处理。鼠标消息的坐标参数使用客户区坐标,CDC类绘图成员函数使用与客户区坐标对应的逻辑坐标。;Thank You!;1、有时候读书是一种巧妙地避开思考的方法。5月-205月-20Tuesday, May 26, 2020
2、阅读一切好书如同和过去最杰出的人谈话。18:55:3018:55:3018:555/26/2020 6:55:30 PM
3、越是没有本领的就越加自命不凡。5月-2018:55:3018:55May-2026-May-20
4、越是无能的人,越喜欢挑剔别人的错儿。18:55:3018:55:3018:55Tuesday, May 26, 2020
5、知人者智,自知者明。胜人者有力,自胜者强。5月-205月-2018:55:3018:55:30May 26, 2020
6、意志坚强的人能把世界放在手中像泥块一样任意揉捏。26 五月 20206:55:30 下午18:55:305月-20
7、最具挑战性的挑战莫过于提升自我。。五月 206:55 下午5月
您可能关注的文档
最近下载
- 2025年山东力明科技职业学院单招语文测试试卷大全.docx VIP
- 高考物理机械能常用模型最新模拟题精练专题31机械能+弹簧连接体+计算题(原卷版+解析).docx VIP
- 2025年湖南铁路科技职业技术学院单招职业技能考试题库及参考答案1套.docx
- 高考物理真题5年分类汇编专题10磁场(全国通用)(含解析).docx VIP
- 2025年成都七中自主招生物理试题 .pdf VIP
- 2025年城市管理协管员招聘考试(城市管理执法)历年参考题库含答案详解.docx VIP
- 保安服务方案 投标方案(技术标).doc
- 2024-2025学年人教版九年级上册化学期末专项训练:计算题(含解析).pdf VIP
- 【泰国投资促进委员会(BOI)】2025年投资促进项目申请指南.docx
- 陕西省09计价规则.pdf VIP
原创力文档

文档评论(0)