createScaledBitmap的过滤参数有什么作用?

android.graphics.Bitmap.createScaledBitmap的声明是

public static Bitmap createScaledBitmap
  (Bitmap src, int dstWidth, int dstHeight, boolean filter)

但是,文档没有解释任何参数。 除了boolean filter外,它们都非常明显。 有谁知道它做了什么?


快速挖掘SKIA源代码表明(至少在默认情况下)FILTER标志会导致它执行直接的双线性插值。 查看维基百科或您最喜爱的图形参考,了解预期的后果。 传统上,您希望在缩放图像时进行双线性或双三次插值,并在缩小图像时进行面积平均。 我得到的印象(虽然我很高兴能够纠正),Android / Skia在缩小尺寸时不进行过滤就可以实现简单的二次采样,所以即使在缩小尺寸时,您也可能获得更好的滤波效果。 (有一种替代方法可以通过插值获得高质量的缩小规模,涉及缩小50%的缩减范围,请参阅http://today.java.net/pub/a/today/2007/04/03/perils-of- image-getscaledinstance.html以获取详细信息。)



过滤器将设置FILTER_BITMAP_FLAG进行绘制,从而在根据您提供的值转换位图时对其进行采样。

链接地址: http://www.djcxy.com/p/16621.html

上一篇: What does the filter parameter to createScaledBitmap do?

下一篇: hide keyboard in Android