如果放大和缩小都会对图片造成失真。
解决方法一:对于有复杂纹理的图片,只能用一张比窗口大的图片,来进行裁切,以适应该窗口的大小。注意是裁切,不是拉伸。
解决方法二:对于没有纹理的图片,就用裁切加图片重新组合的方式,来适应窗口大小。这个实现方式,请参考以下博客,图片格式的进度条:
http://blog.csdn.net/renstarone/article/details/9230763
你可以用以下方法实现,在view中导入新的图片,得到图片路径lpszFilePath在对话框中打开
HBITMAP m_hbitmapBMP = (HBITMAP)LoadImage(AfxGetInstanceHandle(),lpszFilePath,IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION)
然后在用ONPAINT()画上去
BitBlt(……);或者StretchBlt()
这样比用picture properties 控件更好控制图片大小和位置。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)