您的位置:首页 > 其它

Glide实现圆角图片加载

2018-03-01 19:56 316 查看
//使用
Glide.with(this).load("https://p3.pstatp.com/obj/42a30007b8ae7b956804").transform(new CornersTransform(this,50)).into(imgtu);
//新建CornersTransform 继承BitmapTransformation重写方法
public  class CornersTransform extends BitmapTransformation {
private float radius;

public CornersTransform(Context context) {
super(context);
radius = 10;
}

public CornersTransform(Context context, float radius) {
super(context);
this.radius = radius;
}

@Override
protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {
return cornersCrop(pool, toTransform);
}

private Bitmap cornersCrop(BitmapPool pool, Bitmap source) {
if (source == null) return null;

Bitmap result = pool.get(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888);
if (result == null) {
result = Bitmap.createBitmap(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888);
}

Canvas canvas = new Canvas(result);
Paint paint  = new Paint();
paint.setShader(new BitmapShader(source, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP));
paint.setAntiAlias(true);
RectF rectF = new RectF(0f, 0f, source.getWidth(), source.getHeight());
canvas.drawRoundRect(rectF, radius, radius, paint);
return result;
}

@Override
public String getId() {
return getClass().getName();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: