1.导入Glide依赖

compile 'com.github.bumptech.glide:glide:4.0.0-RC1'

2.创建一个类 继承BitmapTransformation

/*** 加载圆形头像带白色边框*/
public class GlideCircleWithBorder extends BitmapTransformation {private Paint mBorderPaint;private float mBorderWidth;public GlideCircleWithBorder(Context context) {super(context);}public GlideCircleWithBorder(Context context, int borderWidth, int borderColor) {super(context);mBorderWidth = Resources.getSystem().getDisplayMetrics().density * borderWidth;mBorderPaint = new Paint();mBorderPaint.setDither(true);mBorderPaint.setAntiAlias(true);mBorderPaint.setColor(borderColor);mBorderPaint.setStyle(Paint.Style.STROKE);mBorderPaint.setStrokeWidth(mBorderWidth);}protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {return circleCrop(pool, toTransform);}private Bitmap circleCrop(BitmapPool pool, Bitmap source) {if (source == null) {return null;}int size = (int) (Math.min(source.getWidth(), source.getHeight()) - (mBorderWidth / 2));int x = (source.getWidth() - size) / 2;int y = (source.getHeight() - size) / 2;Bitmap squared = Bitmap.createBitmap(source, x, y, size, size);Bitmap result = pool.get(size, size, Bitmap.Config.ARGB_8888);if (result == null) {result = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888);}//创建画笔 画布 手动描绘边框Canvas canvas = new Canvas(result);Paint paint = new Paint();paint.setShader(new BitmapShader(squared, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP));paint.setAntiAlias(true);float r = size / 2f;canvas.drawCircle(r, r, r, paint);if (mBorderPaint != null) {float borderRadius = r - mBorderWidth / 2;canvas.drawCircle(r, r, borderRadius, mBorderPaint);}return result;}@Overridepublic void updateDiskCacheKey(MessageDigest messageDigest) {}}

3.加载图片

Glide.with(this).load("http://05imgmini.eastday.com/mobile/20181013/20181013_da58d8665e2d35cd7c2ad4db1a820288_cover_mwpm_03200403.jpg").apply(new RequestOptions().error(this.getResources().getDrawable(R.mipmap.ic_launcher)).placeholder(R.mipmap.ic_launcher).centerCrop().diskCacheStrategy(DiskCacheStrategy.ALL).transform(new GlideCircleWithBorder(this, 3, Color.parseColor("#ccffffff")))).into(image);

Glide加载圆形图片带白色边框相关推荐

  1. Glide加载圆形图片并且带白色边框(绝对实用)

    导入依赖:我不知道其他版本的能不能用 api 'com.github.bumptech.glide:glide:4.6.1' 1.创建一个类 /*** 加载圆形头像带白色边框*/ public cla ...

  2. Android Glide加载圆形图片,设置圆形边框

    Glide加载图片,Glide可以很方便的实现圆形加载并且也还可以设置变色边框. 关于Glide的加载在这里不详细说了,主要说一下自定义BitmapTransformation来实现圆形图片加载 st ...

  3. Android Glide 加载圆形图片(绝对实用)

    1.导入依赖 implementation 'com.github.bumptech.glide:glide:4.6.1' 2.用Glide加载圆形图片 Glide.with(context).loa ...

  4. Android Glide加载圆形图片、圆角图片,部分圆角图片的使用方法

    Android Glide加载圆形图片.圆角图片,部分圆角图片的使用方法 前言 Gilde圆形图片/头像 Gilde普通圆角图片即四个角都是圆角 Gilde对指定角设置圆角 前言 通过本文,您可以实现 ...

  5. Glide加载圆形图片和自定义圆角图片和对指定的角加载圆角

    先上效果图: 因注释很细,就不一一解释说明了! 1.Glide加载圆形图片: 自定义GlideCircleTransUtils继承BitmapTransformation,重写transform()方 ...

  6. Android之glide加载圆形图片地址异常监听

    1 问题 glide加载图片地址的时候,可能这个地址没有图片,那么我们需要对这种异常情况进行处理,当然我们也需要把这个图片进行圆形化 2 代码解决 Glide.with(mContext).load( ...

  7. android glide圆形图片,Glide原生方法加载圆形图片

    项目中需要用圆形图片,我们知道,Android原生是没有好用的圆形图片的,何况还要网络加载什么的.今天找了下Glide加载圆形图片的方法,基本都是这种,说得倒是很明白的,但是我自己加载时候没有找到相应 ...

  8. Gilde加载圆形图片

    实际开发中,很多项目中需要用到圆形图片,例如,项目中个人资料的用户头像.加载图片的框架有很多,我们就简单的说几个,及其他们的优缺点. 首先是Fresco,它的优点是其他几个框架没有的,或者说是其他几个 ...

  9. Android 系统(167)----Glide加载圆角图片的方法

    Glide加载圆角图片的方法 现在在市面上很多App的UI设计都会出现圆角图片的显示.Glide本身也提供了圆角图片的加载方式.但是我们在开发中有可能遇到只要顶部展示圆角,或者某一个角是圆角.这样的需 ...

最新文章

  1. 【.Net Micro Framework PortingKit – 14】TinyCLR编译与测试
  2. 【KVM系列08】使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机
  3. 如何在 SAP 电商云 Spartacus UI 里新建一个页面
  4. 卸载pip、setuptools
  5. linux_scp 远程复制不需要输入密码
  6. 使用OmniDB数据库管理工具,管理Oracle/MariaDB/PostgreSQL等关系型数据库
  7. 【C语言】字符串与整型数值之间的转换
  8. 一次性奖励300万?成都市武侯区促进文化产业发展系列政策影视产业专项政策出来了
  9. mysql导出文件名乱码_快速解决mysql导出scv文件乱码、蹿行的问题
  10. Java解析JSON,按规则获取JSON节点内容
  11. Js拼接Json供echarts的地图使用
  12. mysql比较两个表数据的差异_mysql实用技巧之比较两个表是否有不同数据的方法分析...
  13. win10找不到wifi网络_win10找不到realtek高清晰音频管理器的解决放法
  14. jQuery Color Animate (jQuery 颜色变换动画) 插件
  15. 中山大学农学院袁超磊课题组博士后招聘
  16. 使用EXCEL绘制三维地图(超简单的五分钟绘制地图方法,妈妈再也不用担心我不会画地图啦~)
  17. Centos 下使用speedtest-cli 进行测速
  18. Elasticsearch许可证过期导致ES用不了的问题
  19. python信用卡识别_在python中验证信用卡号码
  20. 俞敏洪的一分钟励志演讲

热门文章

  1. VPX-M1 3U VPX 刀片计算机产品
  2. 系统集成项目管理工程师-法律法规与标准规范
  3. JdbcTemplate空指针异常
  4. ASP.NET Core 高级(一)【.NET 的开放 Web 接口 (OWIN)】
  5. spring结合时,web.xml的配置
  6. Ubuntu mate自启脚本/命令+关闭图形桌面
  7. 中国经济坐标里,武汉城市圈何以堪当“第四极”?
  8. LayUi集成下载Excel、word、PDF、CSV扩展
  9. 互联网打印机协议IPP分析
  10. java 获取最近12个月(包含当月)