我知道ddb设备相关,dib设备无关,图象要显示出来必须转换成设备相关位图,但是我有个问题想问大家:
  怎么判断一张位图是DDB还是DIB,是不是存储在Disk上的BMP图都是DIB图呀?如果不是,那怎么区别是DDB还是DIB呢?

解决方案 »

  1.   

    看《Windows程序设计》下册 的位图部分,DIB位图有一系列的文件头格式。
      

  2.   

    转一个。DIB   
      “设备无关”,指格式中包含了完整的位图信息使得该位图可以在各种不同的设备上重现。   
        
      DDB   是由GDI和设备驱动程序管理的GDI对象,和逻辑画笔对象等有同样的地位。DDB通常称为位图或GDI位图对象。   
        
      区别:   
              1。DDB的设计初就是位图相关的,故每个图型设备都可以选择起不同的内部格式来表示DDB。若程序使用DDB,在不同的机器上运行时,也许会有不同的运行时格式,甚至在同一机器上也会因为不同的设置而有所不同。   
              2。传递数据给DDB和从DDB读数据时,它的扫描线总是上到下,无需考虑负值高度图像。   
            3。DDB可能用到多个位平面,为了和某些图形设备兼容达到最好效果。DIB总使用单个位平面扫描线。   
            4。DDB没有与之相关联的颜色表,因此,图像中每个像素的实际颜色取决于用于显示图像的设备。
      

  3.   

    其实我就是想存储一幅DDB的位图,然后我打开看看就知道它和DIB的区别,可是我用Window的自带画图工具或者PhotoShop都不能保存为DDB的位图?
      

  4.   

    DDB与DIB的区别,还需要好好理解!这个很重要!