【发布时间】:2011-02-27 21:06:09
【问题描述】:
我正在使用 CreatePatternBrush 创建一个画笔和一个用 CreateBitmap 创建的位图。
位图宽 1 像素,高 24 像素,我有每个像素的 RGB 值,所以我创建了一个 rgbquads 数组并将其传递给 CreateBitmap。
当屏幕颜色深度为 32bpp 时,这可以正常工作,因为我创建的位图也是 32bpp。
当屏幕颜色深度不是 32bpp 时,这会失败,我明白为什么会这样,因为我应该创建一个兼容的位图。
看来我应该改用 CreateCompatibleBitmap,但是如何将我拥有的像素数据放入该位图中?
我还阅读了有关 CreateDIBPatternBrushPt、CreateDIBitmap、CreateDIBSection 等的信息。
我不明白什么是 DIBSection,并且发现这个主题通常令人困惑。
我知道我需要一个与屏幕颜色深度相同的位图,但是如何创建只有 32bpp 像素数据的位图?
【问题讨论】: