2-1-1 GDI

时间:2021-07-10 16:15:50

  

  主要内容:介绍Windows图形设备接口(GDI)及相关概念

  1.Windows图形设备接口(GDI)

    <1>Windows图形设备接口(GDI),是为与设备无关的图形设计的。

      所谓设备无关性,就是操作系统屏蔽了硬件设备的差异,

       因而设备无关性能使用户编程时无需考虑特殊的硬件设置。(建立一个中间层,进行一种对硬件的映射)

--------------------------------------------------------------------------------------------------

      GDI提供了一种特殊的机制来彻底隔离应用程序和不同输出设备的特性,

      这样就可以支持与设备无关的图形。

  

      可以把Windows GDI作为一个高层的矢量绘制系统来使用,

      也可以使用它来进行相对底层的像素操作

      也可以把GDI当成图形设备硬件的一种高层接口

      GDI包含有几百个函数,可以分成下面几大类:

        <1>获取(或建立)和释放(或销毁)设备环境的函数

         <2>获取设备环境信息的函数

         <3>绘图函数

         <4>获取和设置设备环境属性的函数

         <5>使用GDI"对象"的函数

--------------------------------------------------------------------------------------------------

  

    <2>GDI(Graphics Device Interface)

      负责系统与用户或绘图程序之间的信息交换,

      并控制在输出设备上显示图形或文字(通过GDI函数),

      是Windows系统的重要组成部分。

    <3>Windows利用GDI和Windows设备驱动程序来支持与设备无关的图形

      开发人员只需要建立与输出设备的关联,让系统加载相应的设备驱动程序即可。

      而设备驱动程序通常是由相应的设备厂商来提供的。

    <4>利用GDI进行与设备无关的绘图需要获得一个叫做DC的东西。 那么,DC是何物呢?

  2.GDI的一些相关基本概念

    <1>设备描述表

      设备环境的属性的集合

      是应用程序与输出设备之间的桥梁

      

    <2>为确保图形输出的设备无关性,

      Windows系统并不允许用户直接访问外设,

      而是使用Windows系统提供的统一的设备环境,叫做Device Context,即DC

      然后使应用程序和设备相连

--------------------------------------------------------------------------------------------------

      设备环境(也被简称为DC)实际上是GDI内部维护的一个数据结构。

      设备环境与特定的显示设备(例如显示器和打印机)相关联。

      对于视频显示,设备环境通常与屏幕上的一个特定的窗口相关联。

      因此也有DC相当于画板一说,但不能简单地说GDI是画笔,

      因为其实DC也可以当做是GDI的一部分。

      可以将GDI对象当做是画笔(如画笔、画刷等)

--------------------------------------------------------------------------------------------------

    <3>应用程序通过设备描述表的句柄来间接地存取设备描述表及其属性

      应用程序的每一次图形操作都参照设备描述表中的属性执行,从而达到设备无关性。