mfc中用opencv在另一对话框显示图片

我新建了一个对话框,想把图片显示在那个对话框里,我在主对话框里的一个按键相应函数里用showdg;//show是我新建的对话框类dg.DoModal();再在新建的对话框... 我新建了一个对话框,想把图片显示在那个对话框里,我在主对话框里的一个按键相应函数里用
show dg; //show是我新建的对话框类
dg.DoModal();
再在新建的对话框的OnInitDialog() 下用
IplImage* ipl = cvLoadImage(mPath, 1 ); //mpah是文件路径
ShowImage( ipl,IDC_STATIC2);
cvReleaseImage( &ipl );
我断定追踪到这里,发现mpath也是有值的,不知为什么在运行的时候新建对话框的控件下还是什么都没有,,,不知道还有添加什么?还请多多指教...
下面是showimage函数:
ShowImage(IplImage* img, UINT ID)// ID 是Picture Control控件的ID号
{
CDC* pDC=GetDlgItem(ID)->GetDC();// 获得显示控件的 DC
HDC hDC=pDC->GetSafeHdc();// 获取 HDC(设备句柄) 来进行绘图操作

CRect rect;
GetDlgItem(ID)->GetClientRect(&rect);

CvvImage cimg;
cimg.CopyOf(img); // 复制图片
cimg.DrawToHDC(hDC,&rect);

ReleaseDC(pDC);
}
这个函数是没有问题的我在主对话框测试过
展开
 我来答
O风之伤O
2012-06-18 · 超过19用户采纳过TA的回答
知道答主
回答量:35
采纳率:0%
帮助的人:54.3万
展开全部
不会吧?类似的函数我也用过,没有出现您说的这种情况,而且新插入对话框的类有OnInitDialog函数吗?
楼主是不是写在主对话框里了?

我试验过了你的代码,
不管是模式对话框还是舞模式对话框,
都没有问题,可以执行!
追问
我是在新建对话框中加的oninitdialog函数,如果不添加这个函数怎样可以是达到我的目的?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
微测检测5.10
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇... 点击进入详情页
本回答由微测检测5.10提供
西瓜妈妈育儿助手
2012-06-18 · 新手妈妈育儿助手,24小时在线的育儿专家
西瓜妈妈育儿助手
采纳数:158 获赞数:549

向TA提问 私信TA
展开全部
看程序没什么问题啊。。。难道是IDC_STATIC2静态控件的问题?加上notify行不行?
或者是你的图片大小跟你的控件rect不匹配?
更多追问追答
追问
应该不是rect的问题,cv它会自动让图片匹配控件,我在新建的对话框加过按键,加过相应函数用IDC_STATIC2都可以,应该不是这个问题,至于你说的加notify是什么意思??
追答
我帮你试了下,确实不行 ,我也没找出原因
但是如果把dlg换成非模态的就没有问题 完全可以显示
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式