图片自适应Picture控件大小

在C++的MFC应用中,使用Picture控件并结合CImage类,可以在OnPaint()函数中实现图片根据控件大小自动调整的功能。尽管这种方法加载图片功能有限,但能有效实现图片的自适应显示。
摘要由CSDN通过智能技术生成

该代码放在void C***Dlg::OnPaint()函数else块


此段代码为图片可以根据控件大小自动调整大小

CRect rect;
        PictureBox.GetClientRect(&rect);     //m_picture为Picture Control控件变量,获得控件的区域对象
        CImage image;                   //使用图片类
        image.Load(pathname);           //装载路径下图片信息到图片类
        CDC* pDC = PictureBox.GetWindowDC(); //获得显示控件的DC
		SetStretchBltMode(pDC->m_hDC,STRETCH_HALFTONE);//不使用此行代码,图片会严重失真
        image.Draw( pDC -> m_hDC,rect); //图片类的图片绘制Draw函数
		image.Destroy();


此段代码只能为Picture控件加载图片,功能不太强大

CImage image;	//创建图片类
		image.Load(pathname);	//根据图片路径加载图片

		CRect rect;		//定义矩形类
		GetClientRect(&rect);//获得目标尺寸,即窗口客户区的坐标

		int cx = image.GetWidth();	//获取图片宽度
		int cy = image.GetHeight();	//获取图片高度

		GetDlgItem(IDC_Picture)->GetWindowRect( &rect );//将窗口矩形
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值