将颜色数据渲染到窗口,Win32

时间:2011-09-30 07:57:34

标签: c++ windows

所以我能够创建一个颜色数据数组(在你想知道的情况下投影3d模型),但我需要在Win32窗口中显示它们。我知道我可以逐像素地绘制它,但这真的很慢。我知道我可能需要BitBlt();如果我要使用双缓冲,我还是需要它。我已经看到如何将.bmp渲染到窗口,但我没有.bmp。我想我可以制作.bmp,但我在这里要求速度。

有没有办法直接(可能不直接,但仍然很快)访问hDC的像素数据?图形库如何快速完成?

2 个答案:

答案 0 :(得分:2)

要将缓冲区复制到DC,您应该构造一个BITMAPINFO,然后使用屏幕hDC的SetDIBitsToDevice(),指向缓冲区的指针和构造的BITMAPINFO。

您可以找到双缓冲here的良好起点。

答案 1 :(得分:0)

渲染到MemoryDC(逐像素访问更快),然后将其复制到您的窗口DC。