Picasso(毕加索)加载圆形图片、圆角图片
#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(毕加索)加载圆形图片、圆角图片相关推荐
- android glide圆形图片,Glide原生方法加载圆形图片
项目中需要用圆形图片,我们知道,Android原生是没有好用的圆形图片的,何况还要网络加载什么的.今天找了下Glide加载圆形图片的方法,基本都是这种,说得倒是很明白的,但是我自己加载时候没有找到相应 ...
- Picasso加载圆形图片和圆角图片
(1)加载圆形图片 https://gist.github.com/julianshen/5829333 改进版支持Palltte https://gist.github.com/dtygel/71b ...
- Android Glide加载圆形图片、圆角图片,部分圆角图片的使用方法
Android Glide加载圆形图片.圆角图片,部分圆角图片的使用方法 前言 Gilde圆形图片/头像 Gilde普通圆角图片即四个角都是圆角 Gilde对指定角设置圆角 前言 通过本文,您可以实现 ...
- Glide加载圆形图片和自定义圆角图片和对指定的角加载圆角
先上效果图: 因注释很细,就不一一解释说明了! 1.Glide加载圆形图片: 自定义GlideCircleTransUtils继承BitmapTransformation,重写transform()方 ...
- 安卓图片加载之使用universalimageloader加载圆形圆角图片
前言 话说这universalimageloader加载图片对搞过2年安卓程序都是用烂了再熟悉不过了,就是安卓新手也是百度就会有一大堆东西出来,今天为什么这里还要讲使用universalimagelo ...
- Gilde加载圆形图片
实际开发中,很多项目中需要用到圆形图片,例如,项目中个人资料的用户头像.加载图片的框架有很多,我们就简单的说几个,及其他们的优缺点. 首先是Fresco,它的优点是其他几个框架没有的,或者说是其他几个 ...
- Android Glide 加载圆形图片(绝对实用)
1.导入依赖 implementation 'com.github.bumptech.glide:glide:4.6.1' 2.用Glide加载圆形图片 Glide.with(context).loa ...
- Glide加载圆形图片带白色边框
1.导入Glide依赖 compile 'com.github.bumptech.glide:glide:4.0.0-RC1' 2.创建一个类 继承BitmapTransformation /*** ...
- Android Glide加载圆形图片,设置圆形边框
Glide加载图片,Glide可以很方便的实现圆形加载并且也还可以设置变色边框. 关于Glide的加载在这里不详细说了,主要说一下自定义BitmapTransformation来实现圆形图片加载 st ...
- Glide加载圆形图片并且带白色边框(绝对实用)
导入依赖:我不知道其他版本的能不能用 api 'com.github.bumptech.glide:glide:4.6.1' 1.创建一个类 /*** 加载圆形头像带白色边框*/ public cla ...
最新文章
- oracle命令行导出、导入dmp文件
- 全球与中国植物基液压油市场供需预测及未来发展展望报告2022-2028年版
- Blazor.Server以正确的方式集成Ids4
- Makefile选项CFLAGS,LDFLAGS,LIBS
- python 面部识别_一文教你在Python中打造你自己专属的面部识别系统
- html里content标签作用,HTML content 标签
- 第五周博客作业西北师范大学|李晓婷
- windows 域的安装方法
- 海康Ehome协议的的PS流分析
- 来和大家聊一聊“蓉叶云库”
- 三极管共射放大电路静态工作点怎么设计
- .net之实现文件上传与下载
- php-fpm启动方式,php-fpm 的各种启动方式
- [日更-2019.4.8、4.9、4.12、4.13] cm-14.1 Android系统启动过程分析(一)-init进程的启动、rc脚本解析、zygote启动、属性服务...
- win10/11下wsl2安装gpu版的pytorch(避坑指南)
- Adaboost算法的初步理解
- 【Vue】全局变量的定义及使用
- 为什么GSM下行的频率要比上行的频率高呢
- QT FC坦克大战(附源码)
- Linux 链接概念 硬连接 软连接