宣言android.graphics.Bitmap.createScaledBitmap是
public static Bitmap createScaledBitmap
(Bitmap src, int dstWidth, int dstHeight, boolean filter)
Run Code Online (Sandbox Code Playgroud)
但是,文档没有解释任何参数.所有这些都非常明显,除了boolean filter.有谁知道它的作用?
tee*_*yay 251
为了扩大Karan的答案:作为一般规则,你将不会看到任何区别,如果你缩放图像下来,但是你会如果你缩放来了.
传递filter = false将导致块状像素化图像.
通过filter = true将为您提供更平滑的边缘.
但是,正如EIYeante在评论中指出的那样,你可能仍然会看到不同之处.这是他们的示例图像.
bee*_*per 86
快速浏览SKIA源代码表明(至少在默认情况下)FILTER标志使其进行简单的双线性插值.检查维基百科或您最喜欢的图形参考,看看预期的后果是什么.传统上,您希望在放大图像时进行双线性或双三次插值,并在缩小图像时进行面积平均.我得到的印象是(虽然我很高兴能够得到纠正)Android/Skia在缩小尺寸时进行简单的子采样而不进行过滤,因此即使缩小尺寸,您也可能从过滤中获得更好的结果.(还有另一种方法可以通过插值实现高质量的缩小,包括进行一系列50%的缩减.请参阅http://today.java.net/pub/a/today/2007/04/03/perils-of-图像getscaledinstance.html 详情.)