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

环境: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控件的DC
	
	image.Draw(pDC->m_hDC, rect); //将图片画到Picture控件表示的矩形区域
	ReleaseDC(pDC);//释放picture控件的DC


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

你可能感兴趣的:(image,mfc,2010)