第 15 章 设备无关位图

本文探讨了Windows GDI中的设备相关位图(DDB)和设备无关位图(DIB)的概念。介绍了DDB在编程中的应用及其局限性,并详细解释了DIB作为一种更通用的图像文件格式的优点,包括其与GIF和JPEG等格式的区别。

摘录于《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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值