关于GDI图像放大缩小StretchBlt显示,图像失真的解决

方法一:

 

CClientDC dcc(CWind * pwind);

 

   。。。。。。

 


 

   。。。。。。

 

 

  dcc.StretchBlt(......);

 

 

 

方法二:

 

在directshow的一个抓图例子中;

 

 

 

方法三:

 

  获取图像句柄和 GDI+ 关联。 用 GDI+ 显示图像的放大缩小。

MFC是Microsoft Foundation Classes的写,是一组用于开发Windows应用程序的C++类库。在使用MFC开发程序时,可以通过一些方法来显示图像,并实现放大小和滚动条等功能。 要显示图像,可以使用MFC中提供的CImage类,它能够加载和保存各种图片格式,并提供了一些图像处理的方法。首先,可以创建一个CImage对象,并使用其Load函数加载指定的图像文件。然后,可以使用CDC类的成员函数BitBlt将图像绘制到指定的设备上,例如窗口或对话框。 实现图像放大小功能可以使用SetStretchBltMode函数和StretchBlt函数。SetStretchBltMode函数用于设置位图的拉伸模式,可以选择使用颜色保留或灰度拉伸模式。StretchBlt函数用于将图像按指定的比例放大小,并将结果绘制到指定的设备上,可以在窗口或对话框的OnPaint函数中调用这两个函数。 为了实现滚动条功能,可以使用MFC的CSliderCtrl类。首先,需要在对话框资源中添加一个滚动条控件,并设置其属性和消息处理函数。然后,在消息处理函数中,可以使用CSliderCtrl类的GetPos函数获取当前滚动条位置,并结合放大小的功能,改变图像显示大小。 综上所述,通过使用MFC中的CImage类加载和显示图像,配合SetStretchBltMode和StretchBlt函数实现放大小功能,并结合CSliderCtrl类实现滚动条功能,就可以实现在MFC应用程序中显示图像,实现放大小和滚动条等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chinabinlang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值