从char * buffer MFC创建位图

时间:2013-05-24 20:50:13

标签: c++ visual-c++ mfc

我正在使用包含图像(16位灰度)的unsigned char *缓冲区。我正在尝试将此缓冲区加载到HBITMAP中,以便我可以在图片框控件上使用SetBitmap来显示内存中的实时图像流。

到目前为止我已经尝试过了:

HBITMAP memBMP;
memBMP = CreateBitmap(1080,1280,1,16,pBuf);
mPictureBox1.SetBitmap(memBMP);

不幸的是,对话框暂时变为空白,然后在迭代完所有图像后再次显示按钮和元素。我们欢迎所有的建议;我试着用尽谷歌资源,但我找不到一个如何做到这一点的清晰示例。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以从此MFC示例应用中了解有关CreateDIBSection的所有信息。但是你必须将16位数据压缩为8位灰度。

http://www.codeproject.com/Articles/31/A-DIBSection-wrapper-for-Win32-and-WinCE