关于设备相关/无关位图?
我有一个问题怎么也想不明白:如果位图都是按照像素存储的,怎么会有与设备无关这一说呢?比如一个位图是32位的,一个设备能显示32位色,他的颜色是A的话,在一个能显示16位色的设备上,他不可能也是颜色A啊?我的理解肯定是不对 的,那么究竟DDB和DIB到低是怎么一回事呢?
[解决办法]
DIB
“设备无关”,指格式中包含了完整的位图信息使得该位图可以在各种不同的设备上重现。
DDB 是由GDI和设备驱动程序管理的GDI对象,和逻辑画笔对象等有同样的地位。DDB通常称为位图或GDI位图对象。
区别:
1。DDB的设计初就是位图相关的,故每个图型设备都可以选择起不同的内部格式来表示DDB。若程序使用DDB,在不同的机器上运行时,也许会有不同的运行时格式,甚至在同一机器上也会因为不同的设置而有所不同。
2。传递数据给DDB和从DDB读数据时,它的扫描线总是上到下,无需考虑负值高度图像。
3。DDB可能用到多个位平面,为了和某些图形设备兼容达到最好效果。DIB总使用单个位平面扫描线。
4。DDB没有与之相关联的颜色表,因此,图像中每个像素的实际颜色取决于用于显示图像的设备。