我正在使用下面的代码使用 Square 的 Picasso 库将圆形蒙版应用于位图。它在 android 版本 3.0 及更高版本的设备上运行良好,但无法在姜饼上运行。在运行时没有显示错误或异常,相反,掩码似乎根本没有应用于原始图像。
public class CircleTransformation implements Transformation {
@Override
public Bitmap transform(Bitmap source) {
int size = Math.min(source.getWidth(), source.getHeight());
Bitmap finalBitmap = Bitmap.createBitmap(size, size, source.getConfig());
Canvas canvas = new Canvas(finalBitmap);
Paint paint = new Paint();
BitmapShader shader = new BitmapShader(source, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP);
paint.setShader(shader);
paint.setAntiAlias(true);
float radius = size / 2f;
canvas.drawCircle(radius, radius, radius, paint);
source.recycle();
return finalBitmap;
}
@Override
public String key() {
return "circle";
}
}
自 API 级别 1 起,我使用的所有方法似乎都可用,所以我有点卡住了。知道可能是什么问题吗?