DC的兼容位图

Posted

技术标签:

【中文标题】DC的兼容位图【英文标题】:DC's compatible Bitmap 【发布时间】:2011-10-08 00:55:58 【问题描述】:

问:我收到了一个位图的数据缓冲区 + BITMAPINFO 描述,每像素 32 位。 接收器的 DC 仅支持 16 位颜色。

当我创建 DIB 对象时,我传递了标头 + 位,但 DIB 将显示错误... 如何制作兼容接收机的DC Bitmap,基于32的?

但应该不是那么清楚......

换句话说:例如,如何将 DIB 从 32 转换为 16?

抱歉,无法更好地解释。

【问题讨论】:

【参考方案1】:

您可以使用CreateDIBitmap 函数将DIB 转换为适合DC 的DDB。它应该应用必要的转换。如果您只想显示 DIB,请改用SetDIBitsToDevice

【讨论】:

以上是关于DC的兼容位图的主要内容,如果未能解决你的问题,请参考以下文章

C++ MFC:将位图绘制到 CFrame 中

GDI:原始 DC 位图更改,无法恢复

请教一下mfc中bitblt各个参数的具体含义

MFC中透明位图原理

如何在 C++/MFC/GDI 中创建一个非常大的位图

什么是,为什么我必须在清理时将位图 hdc 或内存 dc 恢复到默认状态? [复制]