方法
可以放到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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)