mfc导入的图片怎么调整大小啊

mfc导入的图片怎么调整大小啊,第1张

方法

可以放到static控件上,再调整控件大小

代码如下

CDC *pDC=pView->GetDC()

CRect rc

pView->GetClientRect(rc)

CDC memDC//定义一个设备上下文

    memDC.CreateCompatibleDC(pDC)//创建兼容的设备上下文

HBITMAP Bmp

Bmp=(HBITMAP)LoadImage(NULL,Filename,IMAGE_BITMAP,0,0,LR_LOADFROMFILE)

        CBitmap *bmp=NULL

bmp=CBitmap::FromHandle(Bmp)

memDC.SelectObject(bmp)//选中位图对象

pDC->StretchBlt(rc.left,rc.top,rc.Width(),rc.Height(),&memDC,0,0,1280,1024,SRCCOPY)//绘制位图

bmp->DeleteObject()//释放位图对象

这个只是加载图片的方法,但还没涉及到图片的放大和缩小的问题。

如果放大和缩小都会对图片造成失真。

解决方法一:对于有复杂纹理的图片,只能用一张比窗口大的图片,来进行裁切,以适应该窗口的大小。注意是裁切,不是拉伸。

解决方法二:对于没有纹理的图片,就用裁切加图片重新组合的方式,来适应窗口大小。这个实现方式,请参考以下博客,图片格式的进度条:

http://blog.csdn.net/renstarone/article/details/9230763


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11909830.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存