Glide实现圆角和圆形图片
来源:互联网 发布:激光内雕软件 编辑:程序博客网 时间:2024/05/29 14:41
package com.hh.beauter.util;import android.content.Context;import android.content.res.Resources;import android.graphics.Bitmap;import android.graphics.BitmapShader;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.RectF;import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;import com.bumptech.glide.load.resource.bitmap.BitmapTransformation;/*** Created by Hh on 2017/1/5.*/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 = Resources.getSystem().getDisplayMetrics().density * dp; } @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(ActActivity.this).load(UrlUtil.LOCALL_IP+good.getImgs().get(0).getImg()) .transform(new GlideRoundTransform(ActActivity.this,20)) .into(viewHolder.img);
2. 加载圆形图片
//圆形 Glide.with(this).load(photoUrl).asBitmap().centerCrop().into(new BitmapImageViewTarget(photo) { @Override protected void setResource(Bitmap resource) { RoundedBitmapDrawable circularBitmapDrawable = RoundedBitmapDrawableFactory.create(getResources(), resource); circularBitmapDrawable.setCircular(true); photo.setImageDrawable(circularBitmapDrawable); } });
0 0
- Glide实现圆角和圆形图片
- glide实现圆角和圆形图片
- Android 使用Glide实现圆形和圆角图片
- Glide实现圆角 圆形图片
- Glide显示圆形和圆角图片
- 使用Glide动态加载圆形图片和圆角图片
- 使用Glide动态加载圆形图片和圆角图片
- Glide动态加载圆形图片和圆角图片
- Glide加载图片显示圆形和圆角矩形图片
- Glide 加载圆角、圆形图片
- Glide 加载圆角或圆形图片
- glide 圆形 圆角图片无效
- Glide加载圆角、圆形图片
- Glide加载圆形,圆角图片
- Android开发:使用Glide动态加载圆形图片和圆角图片--图片开发框架
- Glide使用 加载网络图片 圆形图片 圆角图片
- Android开发:使用Glide动态加载圆形图片和圆角图片
- Android开发:使用Glide动态加载圆形图片和圆角图片
- win7系统VMware虚拟机安装linux使用NAT模式上网配置
- Android 延时执行任务的三种简单方法
- linux下修改mysql数据库编码为UTF-8(附mysql开启远程连接和开放3306端口)
- ViewPager 简单实现左右无限滑动.
- 事件对象(event)、事件冒泡、默认行为
- Glide实现圆角和圆形图片
- 解决ScrollView 嵌套 GridView 单行显示问题
- 移动鼠标获取相应的样式(eg:手型、问号、箭头等多种样式)css的style="cursor:*"属性
- Spring 简单入门实例
- 将博客搬至CSDN
- 2017蓝桥杯寒假训练计划(一)1.19
- qml如何打开文件对话框
- spring3 升级到 spring4 要注意该的地方
- Log4j配置介绍