鉴于昨天很晚测试了一堆码后
我得出结论Glide4 我玩不转啊 /大哭
不过 测试的好几个百度到的示例 有的方法明显过时 有的性能 啧啧 不敢恭维...
其中比较好用的 有如下两个
直接抄砖吧....
/**
* 圆形
**/
public class GlideCircleTransform extends BitmapTransformation {
private static final String ID = "com.examle.nnp.ah.glide.GlideCircleTransform";
private static final byte[] ID_BYTES = ID.getBytes(CHARSET);
@Override
protected Bitmap transform(@NonNull BitmapPool pool, @NonNull Bitmap toTransform, int outWidth, int outHeight) {
int size = Math.min(toTransform.getWidth(), toTransform.getHeight());
int x = (toTransform.getWidth() - size) / 2;
int y = (toTransform.getHeight() - size) / 2;
Bitmap square = Bitmap.createBitmap(toTransform, x, y, size, size);
Bitmap circle = pool.get(size, size, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(circle);
Paint paint = new Paint();
paint.setShader(new BitmapShader(square, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP));
paint.setAntiAlias(true);
float r = size / 2f;
canvas.drawCircle(r, r, r, paint);
return circle;
}
@Override
public boolean equals(Object obj) {
return obj instanceof GlideCircleTransform;
}
@Override
public int hashCod