MFC利用CImage类将图片显示到Picture控件上

来源:互联网 发布:长沙排名优化软件 编辑:程序博客网 时间:2024/05/05 16:47

环境:Visual Studio 2010

问题:MFC利用CImage类将图片显示到Picture控件上

解决:

1.通过向导为Picture控件添加变量,如果不成功,则手动添加。参考(VS2010为Picture Control 手动添加变量

 

2.在对应的函数里添加如下代码:

 

CImage image; //创建图片类image.Load(rphoto); //根据图片路径加载图片CRect rect;//定义矩形类int cx = image.GetWidth();//获取图片宽度int cy = image.GetHeight();//获取图片高度GetDlgItem(IDC_PICTURE)->GetWindowRect(&rect);//将窗口矩形选中到picture控件上ScreenToClient(&rect);//将客户区选中到Picture控件表示的矩形区域内GetDlgItem(IDC_PICTURE)->MoveWindow(rect.left, rect.top, cx, cy, TRUE);//将窗口移动到Picture控件表示的矩形区域CWnd *pWnd=GetDlgItem(IDC_PICTURE);//获得pictrue控件窗口的句柄pWnd->GetClientRect(&rect);//获得pictrue控件所在的矩形区域CDC *pDC=pWnd->GetDC();//获得pictrue控件的DCimage.Draw(pDC->m_hDC, rect); //将图片画到Picture控件表示的矩形区域ReleaseDC(pDC);//释放picture控件的DC


3.编译,运行。你就可以看到图片显示到Picture控件上了。