
//选择图像
CDC bmDC;
bmDCCreateCompatibleDC(ctrlDC);
bmDCSelectObject(m_hbm);
//然后
CBitmap pbit = bmDCGetCurrentBitmap();
BITMAP bitmapInfo;
pbit->GetObject(sizeof(BITMAP),&bitmapInfo);
//你看看BITMAP bitmapInfo;里面的结构,你想要的东西都在里面了
//还是推荐你看看windows 程序设计里面的位图部分,非常详尽
LoadImage(AfxGetInstanceHandle(), CString("C:\\Users\\lenovo\\Desktop\\testbmp"), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
这是你要的函数。
看一下我给你的例子,本例子是动态加载突变显示随着鼠标移动(防闪烁)。但是这个是VS2012运行的工程:
你看CDanamicLoadView::OnCreate中动态加载,并创建兼容DC中的代码。
在CDanamicLoadView::OnMouseMove中将加载的动态画到另一个虚拟DC中,将虚拟DC完全复制到兼容DC中。
OnEraseBkgnd(是一个背景重画的消息WM_ERASEBKGND,返回TRUE不重画背景)
CDanamicLoadView::OnDraw中将兼容DC中复制到pDC中。
希望你通过看我的例子能真正学到东西,这是vs2012的工程可能你没办法直接运行,也只能帮你到这里了,主要功能就看我前面几个函数中实现的代码,希望对你有帮助。
很简单啊! 打开图像的话,首先获取bmp的像素矩阵,然后用bitblit复制到内存dc上,再复制到窗口dc上,即可。 鼠标的问题,在onclick事件中处理,算一下鼠标点击位置的坐标,然后相对于bmp在窗口中的位置,计算出点击位置在bmp像素矩阵中的坐标,然后从bmp像素矩阵获取对应的各个像素rgb值,计算平均数,然后调用对话框函数显示即可。
以上就是关于在MFC的对话中加载了一幅图像,现在想获取指向该图像的一个指针,如何 *** 作全部的内容,包括:在MFC的对话中加载了一幅图像,现在想获取指向该图像的一个指针,如何 *** 作、关于MFC的问题,做一个基于对话框的MFC程序,从内存读取BMP图像并显示,刚刚接触不知道怎么去做,求大神知道、怎样用mfc读取一个bmp图片的像素矩阵啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)