06 图形设备接口-gdi基本概念.pptxVIP

  • 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月

文档评论(0)

1亿VIP精品文档

相关文档