zoukankan      html  css  js  c++  java
  • windows编程之GDI基础(一)

    首先需要解释下GDI:Graphics Device Interface.就是图形设备接口的意思.

      那么什么又是图形设备接口呢?

        他的意思就是所有关于图形绘制的东西都是和它有关的.我们在显示器上面显示的东西都是和GDI有关的.甚至windows自己绘制滚动条什么的都是用GDI的.

      GDI的原理:

        在windows中,GDI主要是由GDI32.dll这个动态链接库里面的函数实现的.

        这些动态链接库呼叫您安装的视讯显示器和任何打印机呼叫驱动程序中的例程。视讯驱动程序存取视讯显示器的硬件,打印机驱动程序将GDI命令转换为各种打印机能够理解的代码或者命令。显然,不同的视讯显示卡和打印机要求不同的设备驱动程序。

        因为PC会安装不同牌子或者不同型号的视讯设备,所以GDI提供的是一种与设备无关的图形细节.  

        图形输出设备分为两大类:位映像设备和向量设备。大多数PC的输出设备是位映像设备,这意味着它们以图点构成的数组来表示图像,这类设备包括视讯显示卡、点阵打印机和激光打印机。向量设备使用线来绘制图像,通常局限于绘图机。

        向量图形系统的程序与硬件有着一定层次的隔离。输出设备用图素表示图形,但是程序与程序接口之间并不是用图素进行沟通的。

      关于坐标轴:

        Windows内定使用图素坐标系统。大多数传统的图形语言使用「虚拟」坐标系,其水平和垂直轴的范围在0到32,767之间。虽然有些图形语言不让您使用图素坐标,但是Windows GDI允许您使用两种坐标系统之一(甚至依据实际度量衡的坐标系)。您可以使用虚拟坐标系以便让程序独立于硬件之外,或者也可以使用设备坐标系而完全迎合硬设备提供的环境。

      GDI函数类型:

        1.取得或者释放设备内容的函数.

        2.取得设备相关信息的函数

        3.绘图函数.

        4.设定和取得设备内容参数的函数.

        5.使用GDI图像的函数.

      GDI基本图形:

        1.直线和曲线.

        2.填入区域----------使用直线或者曲线封闭了一个区域的时候.该区域可以使用画刷进行填充.

        3.位图

        4.文字

      GDI无法分类的东西:

        1.映像模式和变换.

        2.Metafile

        3.绘图区域

        4.路径

        5.剪裁

        6.调色盘

        7.打印

      接下来的文章将从函数的不同归类开始讲,在图形绘制那里可能有点烦,那些没有归类的东西,应该会陆陆续续的发出来.

      ps:小弟是边学边发的.如果有错误请留言.如果给大家带来错误的知识,十分抱歉.因为我也是这么理解的.

  • 相关阅读:
    深入理解 Spring 事务原理
    spring+springMVC,声明式事务失效,原因以及解决办法
    spring 中常用的两种事务配置方式以及事务的传播性、隔离级别
    【Spring aop】Spring aop的XML和注解的两种配置实现
    Java消息队列--ActiveMq 实战
    【Android】Android开发实现进度条效果,SeekBar的简单使用。音量,音乐播放进度,视频播放进度等
    【Android】Android开发实现带有反弹效果,仿IOS反弹scrollview详解教程
    【Android】安卓开发之activity如何传值到fragment,activity与fragment传值
    【Android】Android开发初学者实现拨打电话的功能,拨打电话app小demo实现
    【Android】SlidingTabLayout实现标题栏,教你制作title标题 简单易学。
  • 原文地址:https://www.cnblogs.com/SoulReaper/p/3321739.html
Copyright © 2011-2022 走看看