什么是Windows DIB?

时间:2012-03-01 13:45:42

标签: c windows directx gdi dib

我只是在讨论是否有一个替代的Windows图形库到GDI&在论坛中直接X.有人提到 WinDIB 。可悲的是,他没有详细解释它。

现在我搜索了谷歌。

  • 在Windows DIB上似乎没有维基百科的文章。

  • 似乎某些图形库(如SDL)使用 WinDIB后端

究竟是什么 WinDIB ?它有任何文件吗?我在哪里可以了解更多信息?

3 个答案:

答案 0 :(得分:6)

Windows Embedded CE和DirectX使用与设备无关的位图(DIB)作为其本机图形文件格式。

DIB是一个文件,其中包含描述以下内容的信息:
图像的尺寸,
图像使用的颜色数量,
描述所用颜色的值,
描述每个像素的数据。

DIB还包含较少使用的参数,例如:
 有关文件压缩的​​信息,
 重要的颜色(如果没有使用),
 图像的物理尺寸(如果它最终会打印出来)。

DIB文件通常具有 .bmp 文件扩展名,但它们可以使用 .dib 扩展名。 由于DIB在Windows编程中非常普遍,因此Windows Embedded CE包含许多可与DirectX一起使用的功能
来源
http://msdn.microsoft.com/en-us/library/aa917106.aspx

答案 1 :(得分:4)

DIB 代表设备独立位图。它是Windows特定的通用位图格式。基本上它是Windows [.bmp]文件的格式。它作为中间格式非常有用,例如,在本机Windows窗口中显示OpenCV图片。

例如,我的ColorDib.h文件,来自最近几天,支持DIB格式的有限子集,即无调色板RGB图片。我用它来在本机Windows窗口中显示OpenCV视频。实际上,完整的源代码是在链接所在的Bitbucket存储库中。

Microsoft不提供非常多的Windows API级别功能来读取或写入BMP / DIB文件。在过去,所有人都有OleLoadPicturePath和朋友,如果您喜欢以非常低效,复杂和奇怪的方式进行重复使用Web浏览器,以及文档中提供的一些可怕的代码。然后是GDI +,虽然远非完美,但已经简化了很多。而现在它没有问题,除了纯粹在API级别编程,其中一个类如我上面链接的类非常方便。

答案 2 :(得分:1)

DIB是设备无关位图。有关MSDNWikipedia的更多详情。我期待被提及的内容。