注:笔者用的开发环境为VS2013+opencv2.4.10
1、在项目中引入CvvImage.cpp和CvvImage.h
2、在OpenImageDlg.h中声明显示图片的函数
void DrawToMFC(IplImage * pImage, int Ctrol_ID)
3、在OpenImageDlg.cpp中定义DrawToMFC函数
void COpenImageDlg::DrawToMFC(IplImage * pImage, int Ctrol_ID)
{
CDC* pDC = GetDlgItem(Ctrol_ID)->GetDC();
HDC hDC = pDC->GetSafeHdc();
CvvImage cimg;
cimg.CopyOf(pImage);
CRect rect;
GetDlgItem(Ctrol_ID)->GetClientRect(&rect);
cimg.DrawToHDC(hDC, &rect);
ReleaseDC(pDC);
}
4、显示图片的响应函数
void COpenImageDlg::OnBnClickedOpenImage()
{
IplImage* image;
image = cvLoadImage("1.jpg");
DrawToMFC(image,IDC_PIC);
}
打开前:
打开后: