在vc++中,我想问一下关于stretchblt的问题
这个函数应用在缩放图片的时候,是否改变图片的像素?也就是说:比如如果是100*100的照片,在用stretchblt缩小显示后,是否还是100*100的?...
这个函数应用在缩放图片的时候,是否改变图片的像素?
也就是说:比如如果是100*100的照片,在用stretchblt缩小显示后,
是否还是100*100的? 展开
也就是说:比如如果是100*100的照片,在用stretchblt缩小显示后,
是否还是100*100的? 展开
4个回答
展开全部
stretchblt是两个DC之间,带缩放的图片拷贝。
因为是两个DC之间的拷贝,原图的大小没有变。
而目标的图根据参数设定的点数生成新图,所以是变的。
如果用的毫米等单位指定大小,系统会算出实际的点数的。
别忘了使用 SetStretchBltMode(STRETCH_HALFTONE); 函数哟。
因为是两个DC之间的拷贝,原图的大小没有变。
而目标的图根据参数设定的点数生成新图,所以是变的。
如果用的毫米等单位指定大小,系统会算出实际的点数的。
别忘了使用 SetStretchBltMode(STRETCH_HALFTONE); 函数哟。
参考资料: http://www.softist.com/forum/forum.php
展开全部
的确会改变的,不过它的伸缩式线性的,在过分缩小的时候,会造成图像的严重失真,有的时候为了增加图像的可读性,必须要进行插值,或者进行模糊处理,就像WINDOWS的图片浏览器一样。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-06-15
展开全部
实际显示的像素数目必然变少,不然怎么缩小?不过它不会改变内存中图片数据的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询