根据不同人的需求 不一样 。自己 看自己需要的代码。
UpdateData(true);
// TODO: Add your control notification handler code here
CFileDialog fd(TRUE,_T("bmp"),_T(".bmp"),OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"位图文件(*.bmp)|*.bmp||",this);
CString path;
if(fd.DoModal()==IDOK)
{
path=fd.GetPathName();
}
else return false;
//if(pImgEmbed.nSize!=0)cvReleaseImage(&pImgEmbed);
IplImage * pImgEmbed = cvLoadImage((const char *)(LPCTSTR)path, CV_LOAD_IMAGE_UNCHANGED);
CDC* pDC = GetDlgItem(IDC_STATIC1) ->GetDC(); // 获得显示控件的 DC
HDC hDC = pDC ->GetSafeHdc(); // 获取 HDC(设备句柄) 来进行绘图操作
CRect rect;//,rect2; //
//((CStatic*)GetDlgItem(IDC_STATIC1))->GetWindowRect(&rect2);
GetDlgItem(IDC_STATIC1) ->GetClientRect( &rect );
int rw = rect.right - rect.left; // 求出图片控件的宽和高
int rh = rect.bottom - rect.top;
int iw = pImgEmbed->width; // 读取图片的宽和高
int ih = pImgEmbed->height;
int tx = (int)(rw - iw)/2; // 使图片的显示位置正好在控件的正中
int ty = (int)(rh - ih)/2;
SetRect( rect, tx, ty, tx+iw, ty+ih );
//if(TraceFlag==FALSE) DrawFrame(pImgEmbed,TraceLocation);
CvvImage cimg;
cimg.CopyOf(pImgEmbed); // 复制图片
cimg.DrawToHDC( hDC, &rect ); // 将图片绘制到显示控件的指定区域内
cvWaitKey(50);
ReleaseDC( pDC );
//cvShowImage("水印图像", pImgEmbed);
GetDlgItem(IDC_STATIC1)->ShowWindow(SW_SHOW);
UpdateData(FALSE);
return TRUE;