1
我想缩小一个大的位图,使所有的源像素平均到目标像素。我知道Graphics DrawImage无法使用InterpolationMode。为了速度和安全代码,我想使用Windows库函数。那里有一个会这样做?什么是Windows库函数会缩小平均所有像素的位图?
我想缩小一个大的位图,使所有的源像素平均到目标像素。我知道Graphics DrawImage无法使用InterpolationMode。为了速度和安全代码,我想使用Windows库函数。那里有一个会这样做?什么是Windows库函数会缩小平均所有像素的位图?
这个MSDN article描述了如何使用WinAPI进行插值。但是,由于您正在压缩而不是扩展,因此您可能不会使用StretchBlt与SetBltStretchMode(尝试HALFTONE或COLORONCOLOR并查看给出的更好结果)。
谢谢,但COLOURONCOLOUR的描述清楚表明它不会做所需的事情,HALFTONE的描述中没有任何内容表明它确实如此。另外(请纠正我,如果我错了),但肯定StretchBlt不允许在安全的代码。 – ChrisJJ 2012-02-08 23:09:37
“,HALFTONE的描述中没有任何暗示它”确实如此,但HALFTONE通常用于实现双线性插值(在今天的24b/32b模式下,抖动是过去的事情)。参见http://stackoverflow.com/a/4358798/16673或http://stackoverflow.com/questions/4572886/ – Suma 2012-03-23 11:49:36