关于MFC的问题,做一个基于对话框的MFC程序,从内存读取BMP图像并显示,刚刚接触不知道怎么去做,求大神知道

要求直接从内存中读取图片,不要导入位图
2024-12-01 19:45:53
推荐回答(2个)
回答1:

LoadImage(AfxGetInstanceHandle(), CString("C:\\Users\\lenovo\\Desktop\\test.bmp"), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);

这是你要的函数。

看一下我给你的例子,本例子是动态加载突变显示随着鼠标移动(防闪烁)。但是这个是VS2012运行的工程:

你看CDanamicLoadView::OnCreate中动态加载图片,并创建兼容DC中的代码。

在CDanamicLoadView::OnMouseMove中将加载的动态图片画到另一个虚拟DC中,将虚拟DC完全复制到兼容DC中。

OnEraseBkgnd(是一个背景重画的消息WM_ERASEBKGND,返回TRUE不重画背景)

CDanamicLoadView::OnDraw中将兼容DC中复制到pDC中。

希望你通过看我的例子能真正学到东西,这是vs2012的工程可能你没办法直接运行,也只能帮你到这里了,主要功能就看我前面几个函数中实现的代码,希望对你有帮助。


回答2:

把图片显示于内存DC,直接从内存DC获取就可以,图像处理大多是这么做的。