第 15 章 设备无关位图

来源:互联网 发布:火焰之地怎么去乎门人 编辑:程序博客网 时间:2024/06/06 01:47

摘录于《Windows程序(第5版,珍藏版).CHarles.Petzold 著》P569

        在第 14 章,我们看到了 Windows GDI 位图对象(也叫设备相关位图(Device-dependent Bitmap),或简称 DDB)对各种各样的编程任务是很有用的。但是我没有讨论如何把这些位图保存到磁盘文件或把它们装载回内存。在早期的 Windows 中曾经是这样做的,但现在不同了。因为 DDB 和设备高度相关,它不适合作为图像交换的格式。在 DDB 中没有颜色表,所以它不能把图像中的位图位和颜色对应起来。DDB 只在一个窗口的生命周期之内才有意义

        Windows 3.0 引入了设备无关位图(Device-Independent Bitmap, DIB),它提供了一个用来交换图像的文件格式。你大概知道,其他图像文件格式,例如 GIF 和 JPEG,在因特网上比 DIB 要常见得多。这主要是因为 GIF 和 JPEG 格式压缩了图像数据,从而大大地减少了文件的下载时间。虽然 DIB 中也支持一定程序的数据压缩,但是很少使用。绝大多数 DIB 中的位图位几乎总是未压缩的。如果你需要对这些位图位直接进行操作,这反而成为了它的好处。不同于 GIF 和 JPEG 文件,Windows API 直接支持 DIB(在 Windows XP 及以后的版本中,Windows API 对 GIF、JPEG 也有很好的 API 支持)。如果在内存中有一个 DIB,你可以把该 DIB 的指针作为参数传给一些函数来显示该 DIB 或将其转换成 DDB。

0 0
原创粉丝点击