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控件上了。

  • 9
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值