作者很好的文章访问量缺很少也很难搜到(我这里插个眼以后用的到)
作者:先知丨先觉
来源:CSDN
原文:https://blog.csdn.net/github_33304260/article/details/52033539
(图片圆角做的不是很好我试了试)

导入依赖

compile 'com.squareup.picasso:picasso:2.5.2'

  代码使用

Picasso.with(Activity.this).load(URL).transform(new CircleCornerForm()).error(R.drawable.head).into(ImageView);

  

加载圆形图片

import android.graphics.Bitmap;
import android.graphics.BitmapShader;
import android.graphics.Canvas;
import android.graphics.Paint;import com.squareup.picasso.Transformation;/*** Created libin on 2016/4/25.* 圆形图片*/
public class CircleTransform implements Transformation {@Overridepublic Bitmap transform(Bitmap source) {int size = Math.min(source.getWidth(), source.getHeight());int x = (source.getWidth() - size) / 2;int y = (source.getHeight() - size) / 2;Bitmap squaredBitmap = Bitmap.createBitmap(source, x, y, size, size);if (squaredBitmap != source) {source.recycle();}Bitmap bitmap = Bitmap.createBitmap(size, size, source.getConfig());Canvas canvas = new Canvas(bitmap);Paint paint = new Paint();BitmapShader shader = new BitmapShader(squaredBitmap,BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP);paint.setShader(shader);paint.setAntiAlias(true);float r = size / 2f;canvas.drawCircle(r, r, r, paint);squaredBitmap.recycle();return bitmap;}@Overridepublic String key() {return "circle";}
}

  

加载圆角图片

import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.RectF;import com.squareup.picasso.Transformation;/*** Created by libin on 16/7/22.* 圆角切片*/
public class CircleCornerForm implements Transformation {@Overridepublic Bitmap transform(Bitmap source) {int widthLight = source.getWidth();int heightLight = source.getHeight();Bitmap output = Bitmap.createBitmap(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888);Canvas canvas = new Canvas(output);Paint paintColor = new Paint();paintColor.setFlags(Paint.ANTI_ALIAS_FLAG);RectF rectF = new RectF(new Rect(0, 0, widthLight, heightLight));canvas.drawRoundRect(rectF, widthLight / 5, heightLight / 5, paintColor);//这里除的数越大角度越小Paint paintImage = new Paint();paintImage.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_ATOP));canvas.drawBitmap(source, 0, 0, paintImage);source.recycle();return output;}@Overridepublic String key() {return "roundcorner";}
}

  

转载于:https://www.cnblogs.com/xuexidememeda/p/10329643.html

使用Picasso实现图片圆角和图片圆形相关推荐

  1. [Android] 给图像加入相框、圆形圆角显示图片、图像合成知识

        前一篇文章讲述了Android触屏setOnTouchListener实现突破缩放.移动.绘制和加入水印,继续我的"随手拍"项目完毕给图片加入相框.圆形圆角显示图片和图像合 ...

  2. [Android] 给图像添加相框、圆形圆角显示图片、图像合成知识

        前一篇文章讲述了Android触屏setOnTouchListener实现突破缩放.移动.绘制和添加水印,继续我的"随手拍"项目完成给图片添加相框.圆形圆角显示图片和图像合 ...

  3. 使用Glide加载圆角矩形图片、圆形图片

    Glide是一个功能强大的图片加载库,下面是平常开发中使用到的一些功能,基于Glide-4.X版本的用法 Glide-github地址 Glide jar包下载地址 加载圆形图片: RequestOp ...

  4. Glide加载常用类型图片(带白色边框的圆形图、圆角矩形图片、圆形图片)

    一:依赖包: Glide_github implementation 'com.github.bumptech.glide:glide:4.8.0' annotationProcessor 'com. ...

  5. android圆角glide,使用Glide加载圆角矩形图片、圆形图片

    Glide是一个功能强大的图片加载库,下面是平常开发中使用到的一些功能,基于Glide-4.X版本的用法 Glide-github地址 Glide jar包下载地址 加载圆形图片:RequestOpt ...

  6. 用JAVA awt实现Image Asset Studio生成圆形或圆角矩形图片功能

    背景 随着Android 7.1推出Round Icon Resources功能(不了解的,可以看Android开发者官网这篇文章Android 7.1 for Developers),圆形Icon应 ...

  7. Picasso加载圆角图片

    Picasso.with(context).load(url).transform(new RoundTransform(20)).into(iv_show); /**  * 圆角显示图片-Picas ...

  8. Android给图像添加相框、圆形圆角显示图片、图像合成知识

    前一篇文章讲述了Android触屏setOnTouchListener实现突破缩放.移动.绘制和添加水印,继续我的"随手拍"项目完成给图片添加相框.圆形圆角显示图片和图像合成的功能 ...

  9. 给图像添加相框、圆形圆角显示图片、图像合成知识

    前一篇文章讲述了Android触屏setOnTouchListener实现突破缩放.移动.绘制和添加水印,继续我的"随手拍"项目完成给图片添加相框.圆形圆角显示图片和图像合成的功能 ...

最新文章

  1. 实战:动手搭建一个开源动作相机
  2. 典型的开发国内小项目没失败的经验分享
  3. oracle处理回车换行符
  4. android startanimation 回调,ScheduledThreadPoolExecutor执行莫名停止问题Android几个动画回调运行线程...
  5. 刹车八个技巧 教你踩得又稳又好
  6. 微信WeixinJSBridge API
  7. java泛型与接口_Java泛型用于方法,类和接口
  8. Android笔记 fragment的生命周期
  9. keras笔记-模型保存以及tensorboard的使用
  10. 搭建 Apache Jmeter 分布式压测与监控
  11. P3435 [POI2006]OKR-Periods of Words
  12. linux命令行删除N天前的数据的命令
  13. android 15 activity跳转
  14. jspstudy启动mysql失败_JspStudy配置Jspxcms安装教程,以及数据库设置;
  15. 通俗易懂的粒子滤波算法(PF)
  16. JS动态添加元素绑定点击事件,触发事件多次执行问题?
  17. ms project2010项目管理软件使用技巧总结
  18. Pimple Containter 容器使用实例代码
  19. Python环境下用中文做了个《王者荣耀》AI脚本,附视频
  20. GSR2501国产2.4G PA替代RFX2401C,AT2401C,RT201

热门文章

  1. C# 如何调用EventLog
  2. oracle时间用法
  3. 写程序的一些感想和教训
  4. 4e4 Coursework decomposition
  5. 吃香椿的注意事项:焯水
  6. cambridge ccaf potential supervisors!
  7. 大地形实时渲染资源网收集
  8. string与stringBuilder的效率与内存占用实测
  9. 21-Heartbeat配置文件authkey重要参数讲解
  10. Linux系统性能监控之6个vmstat和6个iostat命令