#Picasso 的使用详解

导入依赖

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";}
}

扫码关注公众号“伟大程序猿的诞生“,更多干货新鲜文章等着你~

公众号回复“资料获取”,获取更多干货哦~

有问题添加本人微信号“fenghuokeji996” 或扫描博客导航栏本人二维码

Picasso(毕加索)加载圆形图片、圆角图片相关推荐

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

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

  2. Picasso加载圆形图片和圆角图片

    (1)加载圆形图片 https://gist.github.com/julianshen/5829333 改进版支持Palltte https://gist.github.com/dtygel/71b ...

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

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

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

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

  5. 安卓图片加载之使用universalimageloader加载圆形圆角图片

    前言 话说这universalimageloader加载图片对搞过2年安卓程序都是用烂了再熟悉不过了,就是安卓新手也是百度就会有一大堆东西出来,今天为什么这里还要讲使用universalimagelo ...

  6. Gilde加载圆形图片

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

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

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

  8. Glide加载圆形图片带白色边框

    1.导入Glide依赖 compile 'com.github.bumptech.glide:glide:4.0.0-RC1' 2.创建一个类 继承BitmapTransformation /*** ...

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

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

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

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

最新文章

  1. oracle命令行导出、导入dmp文件
  2. 全球与中国植物基液压油市场供需预测及未来发展展望报告2022-2028年版
  3. Blazor.Server以正确的方式集成Ids4
  4. Makefile选项CFLAGS,LDFLAGS,LIBS
  5. python 面部识别_一文教你在Python中打造你自己专属的面部识别系统
  6. html里content标签作用,HTML content 标签
  7. 第五周博客作业西北师范大学|李晓婷
  8. windows 域的安装方法
  9. 海康Ehome协议的的PS流分析
  10. 来和大家聊一聊“蓉叶云库”
  11. 三极管共射放大电路静态工作点怎么设计
  12. .net之实现文件上传与下载
  13. php-fpm启动方式,php-fpm 的各种启动方式
  14. [日更-2019.4.8、4.9、4.12、4.13] cm-14.1 Android系统启动过程分析(一)-init进程的启动、rc脚本解析、zygote启动、属性服务...
  15. win10/11下wsl2安装gpu版的pytorch(避坑指南)
  16. Adaboost算法的初步理解
  17. 【Vue】全局变量的定义及使用
  18. 为什么GSM下行的频率要比上行的频率高呢
  19. QT FC坦克大战(附源码)
  20. Linux 链接概念 硬连接 软连接

热门文章

  1. CSS:display和visibility隐藏的区别
  2. java 调用tomcat api,tomcat处理http请求-下
  3. python_文件读写_反转文件中的行
  4. 编译原理文法等价变换
  5. 基于手机系统的实时目标检测
  6. linux误用rm删除文件后恢复
  7. 第1章—Spring之旅—简化Spring的java开发
  8. Openwrt 路由器挂载摄像头教程
  9. 求n个排序链表的交集
  10. WebApplication(Web应用程序)和WebSite(网站)的区别