【发布时间】:2012-01-01 02:44:21
【问题描述】:
我在内存中有一个由 32 位 ARGB 值数组定义的图像。我想得到一个 DC 来绘制它,然后将结果放在同一个数组中。图像永远不会通过 blitting 显示在屏幕上。
如果不复制图像数据,这可能吗?
当我查看 msdn 的 CreateDC() 页面时,它需要一个驱动程序名称和一个设备。但直流不必与任何设备兼容。此外,如果显示器以 16 位或 32 位色深运行,我不希望结果有所不同。我想我需要一个与我的内存布局兼容的 DC,而不是与某些设备兼容的 DC。我该怎么做?
谢谢 马克
【问题讨论】:
-
<gdiplus.h>很好地涵盖了这一点。使用 Bitmap(int, int, int, PixelFormat, BYTE*) 构造函数创建位图。使用从 Graphics::FromImage() 获得的 Graphics 对象进行绘制。
标签: image winapi memory draw gdi