Android:图像变换与插值算法

Android:图像变换与插值算法,android,image-processing,Android,Image Processing,我目前正在通过使用矩阵在画布上绘制图像,将图像彼此覆盖。 问题是:在旋转和缩放之后,我最终会得到脏/粗糙的边缘。看起来像这样: 问题不在于图像的分辨率低,我的理论是它与android绘图引擎的插值算法有关 这里有谁能给我一些建议吗?Android默认使用像素化图像。您可以使用FILTER\u BITMAP\u FLAG强制它使用。以下所有变体实际上都具有相同的功能: final Paint paint = new Paint(Paint.FILTER_BITMAP_FLAG); paint.

我目前正在通过使用矩阵在画布上绘制图像,将图像彼此覆盖。 问题是:在旋转和缩放之后,我最终会得到脏/粗糙的边缘。看起来像这样:

问题不在于图像的分辨率低,我的理论是它与android绘图引擎的插值算法有关

这里有谁能给我一些建议吗?

Android默认使用像素化图像。您可以使用
FILTER\u BITMAP\u FLAG
强制它使用。以下所有变体实际上都具有相同的功能:

final Paint paint = new Paint(Paint.FILTER_BITMAP_FLAG);

paint.setFlags(paint.getFlags() | Paint.FILTER_BITMAP_FLAG);
paint.setFilterBitmap(true);
Android默认使用这一点来解释为什么你会得到像素化的图像。您可以使用
FILTER\u BITMAP\u FLAG
强制它使用。以下所有变体实际上都具有相同的功能:

final Paint paint = new Paint(Paint.FILTER_BITMAP_FLAG);

paint.setFlags(paint.getFlags() | Paint.FILTER_BITMAP_FLAG);
paint.setFilterBitmap(true);

是否为对象设置了和?我设置了反\u别名\u标志,但没有设置过滤器\u位图\u标志。这就是原因吗?是的,android默认使用线性插值,这就是为什么要得到像素化图像<代码>过滤器\u位图\u标志强制它使用双线性插值。谢谢!!你想创造一个答案让我接受吗?好了。我犯了一个小错误,最近邻插值实际上是由DefaultYou使用的。是否为您的对象设置了?我设置了ANTI_ALIAS_标志,但没有设置FILTER_BITMAP_标志。这就是原因吗?是的,android默认使用线性插值,这就是为什么要得到像素化图像<代码>过滤器\u位图\u标志强制它使用双线性插值。谢谢!!你想创造一个答案让我接受吗?好了。我犯了一个小错误,默认情况下使用最近邻插值