Picasso通过URL获取--用户头像的圆形显示
1.设置布局属性:
<ImageView
android:scaleType="fitXY"/>
2.BitmapUtils类-- 得到指定圆形的Bitmap对象
public static Bitmap circleBitmap(Bitmap source) {
//获取Bitmap的宽度
int width = source.getWidth();
//以Bitmap的宽度值作为新的bitmap的宽高值。
Bitmap bitmap = Bitmap.createBitmap(width, width, Bitmap.Config.ARGB_8888);
//以此bitmap为基准,创建一个画布
Canvas canvas = new Canvas(bitmap);
Paint paint = new Paint();
paint.setAntiAlias(true);
//在画布上画一个圆
canvas.drawCircle(width / 2, width / 2, width / 2, paint); //设置图片相交情况下的处理方式
//setXfermode:设置当绘制的图像出现相交情况时候的处理方式的,它包含的常用模式有:
//PorterDuff.Mode.SRC_IN 取两层图像交集部分,只显示上层图像
//PorterDuff.Mode.DST_IN 取两层图像交集部分,只显示下层图像
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
//在画布上绘制bitmap
canvas.drawBitmap(source, 0, 0, paint); return bitmap; }
3.BitmapUtils类--压缩图片
//实现图片的压缩处理
//设置宽高必须使用浮点型,否则导致压缩的比例:0
public static Bitmap zoom(Bitmap source,float width ,float height){ Matrix matrix = new Matrix();
//图片的压缩处理
matrix.postScale(width / source.getWidth(),height / source.getHeight()); Bitmap bitmap = Bitmap.createBitmap(source, 0, 0, source.getWidth(), source.getHeight(), matrix, false);
return bitmap;
}
4.根据user.getImageurl()显示圆形图像
//使用Picasso联网获取图片
Picasso.with(this.getActivity()).load(user.getImageurl()).transform(new Transformation() {
@Override
public Bitmap transform(Bitmap source) {//下载以后的内存中的bitmap对象
//压缩处理
Bitmap bitmap = BitmapUtils.zoom(source, UIUtils.dp2px(62),UIUtils.dp2px(62));
//圆形处理
bitmap = BitmapUtils.circleBitmap(bitmap);
//回收bitmap资源
source.recycle();
return bitmap;
} @Override
public String key() {
return "";//需要保证返回值不能为null。否则报错
}
}).into(ivMeIcon);
Picasso通过URL获取--用户头像的圆形显示的更多相关文章
- h5开发中,利用微信或者QQ登陆以后获取用户头像在canvas画布显示问题
在实际开发上先的h5页面产品中,总会遇到各种坑,好多坑都是安卓和iPhone端兼容的问题(用电脑谷歌浏览器输入 chrome://inspect/#devices可以用手机USB调试,打开) eg: ...
- iOS常见用户头像的圆形图片裁剪常见的几种方法
在开发中,基本上APP的用户头像的处理都需要把用户所上传的方形图片,处理为圆形图片.在这里就总结三种常见的处理圆形图片的方法. 1.使用位图上下文 2.使用UIView的layer进行处理 3.使用r ...
- phpcms 任意位置获取用户头像
主要拿到userid $_username = param::get_cookie('_username');//当前登录人用户名 $_userid = param::get_cookie('_use ...
- 微信小程序 获取用户昵称、头像
前段时间微信小程序对获取用户昵称和头像方法进行了更新,网上很多的文章都已经不适用了,这里简单总结一下,首先,传统接口wx.getUserInfo的效果会弹出一个给用户的弹窗,需要用户授权,经过测试传统 ...
- 在Windows客户端自动设置AD用户头像
Windows现在可以设置用户头像,并在开始菜单显示.如果你安装了Exchange或者Lync,那么可以在Outlook或者Skype里看到用户的头像.这个图片是存储在AD用户属性里的.对于桌面电脑的 ...
- php制作圆形用户头像——自定义封装类源代码
思路 使用图层的方法设计,共需要创建3个图像层 1.底层:最后生成的图像 2.真实用户头像:作为中间层,用户上传的真实头像图片 3.圆形蒙版:作为最上层,在蒙版中绘制圆形,并设置为透明 如图: 代码如 ...
- post提交的数据有哪几种编码格式?能否通过URL参数获取用户账户密码
这里是修真院前端小课堂,每篇分享文从 [背景介绍][知识剖析][常见问题][解决方案][编码实战][扩展思考][更多讨论][参考文献] 八个方面深度解析前端知识/技能,本篇分享的是: [post提交的 ...
- android开发——用户头像
最近,小灵狐得知了一种能够加快修炼速度的绝世秘法,那便是修炼android神功.小灵狐打算用android神功做一个app,今天他的修炼内容就是头像功能.可是小灵狐是个android小白啊,所以修炼过 ...
- 微信网页开发之获取用户unionID的两种方法--基于微信的多点登录用户识别
假设网站A有以下功能需求:1,pc端微信扫码登录:2,微信浏览器中的静默登录功能需求,这两种需求就需要用到用户的unionID,这样才能在多个登录点(终端)识别用户.那么这两种需求下用户的unionI ...
随机推荐
- [原创]markdown语法学习(commonmark)
CommonMark是markdown的解析器,以下是部分学习链接: commonmark规范 https://spec.commonmark.org/ commonmark帮助 https://co ...
- 剑指offer——面试题22:链表中倒数第k个节点
注意代码的鲁棒性! 函数: ListNode* TheLastKthNode(ListNode* pHead,int k) { ) return nullptr; ListNode* quickNod ...
- PIE SDK组件式开发综合运用示例
1. 功能概述 关于PIE SDK的功能开发,在我们的博客上已经分门别类的进行了展示,点击PIESat博客就可以访问,为了初学者入门,本章节将对从PIE SDK组件式二次开发如何搭建界面.如何综合开发 ...
- java email
package email; import java.io.File;import java.util.Date;import java.util.Properties; import javax.a ...
- gRPC GoLang Test
gRPC是Google开源的一个高性能.跨语言的RPC框架,基于HTTP2协议,基于protobuf 3.x,基于Netty 4.x +. gRPC与thrift.avro-rpc.WCF等其实在总体 ...
- Oracle运算符收录(易忘记,但是又很重要的运算符)
Create Table Test6( id ), name ), age ), sex ) ) 1. || 符 字符串连接字符串,注意:文字和日期一定嵌入在单引号里面 select ID,Nam ...
- jQuery validate 设置失去焦点就校验
<script type="text/javascript"> $(function(){ var flag = $("#addForm").val ...
- redis在Linux上的安装
1 安装redis编译的c环境 输入命令: 注意yum安装必须联网 yum install gcc-c++ 如果提示是否需要下载输入y就可以开始下载. 2 redis安装 1 上传文件 2 解压文件 ...
- js中的闭包理解一
闭包是一个比较抽象的概念,尤其是对js新手来说.书上的解释实在是比较晦涩,对我来说也是一样. 但是他也是js能力提升中无法绕过的一环,几乎每次面试必问的问题,因为在回答的时候.你的答案的深度,对术语的 ...
- 使用rem单位的问题——Google下字体很大
rem的看法 rem单位确实好处蛮多的,它是相对于根节点,让我们整个网站单位可以统一.还可以让我们的字体更好的自适应网站的大小.但是,你用过了就知道,它会出现一个问题: 用Chrome浏览器打开你做的 ...