关于设备相关/无关位图?

「已注销」 2008-03-22 01:59:11
我有一个问题怎么也想不明白:如果位图都是按照像素存储的,怎么会有与设备无关这一说呢?比如一个位图是32位的,一个设备能显示32位色,他的颜色是A的话,在一个能显示16位色的设备上,他不可能也是颜色A啊?我的理解肯定是不对 的,那么究竟DDB和DIB到低是怎么一回事呢?
...全文
36 2 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
幽助668899 2009-08-16
  • 打赏
  • 举报
回复
DDB:
DDB不具有自己的调色板信息,他的颜色模式必须与输出设备相一致。如:在256色以下的位图中存储的像素值是系统调色板的索引,其颜色依赖于系统调色板。由于DDB高度依赖输出设备,所以DDB只能存在于内存中,它要么在视频内存中,要么在系统内存中。

DIB:
DIB具有自己的调色板信息,他可以不依赖系统的调色板。由于他不依赖于设备,所以通常用它来保存文件,如.bmp格式的文件就是DIB.
tjficcbw 2008-03-22
  • 打赏
  • 举报
回复
DIB
“设备无关”,指格式中包含了完整的位图信息使得该位图可以在各种不同的设备上重现。

DDB 是由GDI和设备驱动程序管理的GDI对象,和逻辑画笔对象等有同样的地位。DDB通常称为位图或GDI位图对象。

区别:
1。DDB的设计初就是位图相关的,故每个图型设备都可以选择起不同的内部格式来表示DDB。若程序使用DDB,在不同的机器上运行时,也许会有不同的运行时格式,甚至在同一机器上也会因为不同的设置而有所不同。
2。传递数据给DDB和从DDB读数据时,它的扫描线总是上到下,无需考虑负值高度图像。
3。DDB可能用到多个位平面,为了和某些图形设备兼容达到最好效果。DIB总使用单个位平面扫描线。
4。DDB没有与之相关联的颜色表,因此,图像中每个像素的实际颜色取决于用于显示图像的设备。
相关推荐
发帖
图象工具使用

1445

社区成员

多媒体/设计/Flash/Silverlight 开发 图象工具使用
社区管理员
  • 图象工具使用社区
加入社区
帖子事件
创建了帖子
2008-03-22 01:59
社区公告
暂无公告