Windows DIB是什么?

5

我在一个论坛上讨论是否有替代 Windows 图形库 GDI 和 Direct X 的方案。有人提到了WinDIB,但他并没有详细说明。

现在我已经在谷歌上搜索过了。

  • 似乎没有关于 Windows DIB 的维基百科文章。

  • 一些图形库(如 SDL)使用 WinDIB 后端

那么WinDIB到底是什么?是否有相关文档?我在哪里可以了解更多信息?

3个回答

8

Windows嵌入式CE和DirectX使用设备无关位图(DIB)作为其本地图形文件格式。

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

DIB还包含较少使用的参数,例如:
文件压缩信息,
重要颜色(如果未全部使用),
图像的物理尺寸(以防它最终被打印)。

DIB文件通常具有.bmp文件扩展名,尽管它们可以使用.dib扩展名。由于DIB在Windows编程中如此普遍,因此Windows嵌入式CE包含许多与DirectX一起使用的功能。

SOURCE
http://msdn.microsoft.com/en-us/library/aa917106.aspx


5
DIB代表设备无关位图。它是一种Windows特定的通用位图格式,实际上就是Windows [.bmp]文件的格式。它非常有用作为中间格式,以便在本地Windows窗口中显示OpenCV图片。例如,我最近几天的ColorDib.h文件支持有限的DIB格式子集,即无调色板RGB图片。我使用它来在本地Windows窗口中显示OpenCV视频。实际上,完整的源代码位于链接所指向的Bitbucket存储库中。
Microsoft没有提供太多的Windows API级别的功能来读取或写入BMP/DIB文件。在旧日子里,所有的只有OleLoadPicturePath和伙伴们,再加上如果你喜欢以非常低效、复杂和怪异的方式进行操作,可以重用Web浏览器,以及文档中提供的一些可怕的代码。然后出现了GDI+,虽然远非完美,但简化了很多。现在编程时基本没有什么问题,除非纯粹在API级别上编程,在这种情况下,像上面链接的这个类就非常方便了。

1
DIB 是指设备无关位图。更多细节请参考 MSDNWikipedia。我希望这就是所指的内容。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接