自定义BitmapTransformation完美解决Glide加载圆角或者圆形图片
2017-04-18 15:32
639 查看
当使用Glide加载图片时,如果此时需要使用到圆角图片,我们第一时间会想到自定义ImageView,但是这种方法会报错(记得是类加载异常)。Glide本身提供了transform方法,进行转化。
代码示下:
最后我们需要
Glide.with(this).transform(new GlideRoundTransform (this)),就Ok了。
注意:这是设置圆角图片的代码。
代码示下:
public class GlideRoundTransform extends BitmapTransformation { private static float radius = 0f; public GlideRoundTransform(Context context) { this(context, 4); } public GlideRoundTransform(Context context, int dp) { super(context); this.radius = 15f; } @Override protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) { return roundCrop(pool, toTransform); } private static Bitmap roundCrop(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() + Math.round(radius); } }
最后我们需要
Glide.with(this).transform(new GlideRoundTransform (this)),就Ok了。
注意:这是设置圆角图片的代码。
相关文章推荐
- Android自定义view实现圆形、圆角和椭圆图片(BitmapShader图形渲染)
- Glide加载圆形图片和自定义圆角图片和对指定的角加载圆角
- Android 自定义View修炼-Android实现圆形、圆角和椭圆自定义图片View(使用BitmapShader图形渲染方法)
- Glide加载圆形图片和圆角图片的解决方式。
- Android使用BitmapShader图形渲染实现圆形、圆角和椭圆自定义图片View
- 自定义View—使用clipPath或者BitmapShader实现圆角图片
- Glide加载CircleImageView自定义圆形图片时解决不能加载成圆形图片问题
- Glide的加载图片的帮助类,用来把图片圆角或者改成圆形图片
- 解决Glide加载圆形图片,第一次只显示点位图的问题
- Android BitmapShader 实战 实现圆形、圆角图片
- Android BitmapShader 实战 实现圆形、圆角图片
- Android BitmapShader 实战 实现圆形、圆角图片
- Android BitmapShader 实战 实现圆形、圆角图片
- Glide 加载圆角、圆形图片
- Android BitmapShader 实战 实现圆形、圆角图片
- Android BitmapShader实现圆形和圆角图片
- Android开发:使用Glide动态加载圆形图片和圆角图片
- 【转】Android BitmapShader 实战 实现圆形、圆角图片
- Android BitmapShader 实战 实现圆形、圆角图片
- Android BitmapShader 实战 实现圆形、圆角图片