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);

  

  

  

时间: 2024-12-17 15:48:01

Picasso通过URL获取--用户头像的圆形显示的相关文章

用户头像的圆形显示

[问题说明]: 在显示注册用户的头像的时候,如果是矩形的话会比较难看,一般处理成圆形,需要2步: step1:将图片按照matrix进行压缩成正方形: step2:将正方形图片转为圆形图片 [工具类]: 下面提供2个方法: public class BitmapUtils { //图片的压缩,将图片source压缩成宽为w,高为h的图片 public static Bitmap zoom(Bitmap source,float w ,float h){//参数2,3:必须不能声明int Matr

Java实现简易爬虫--抓取酷安网用户头像

爬虫思路 以酷安网用户粉丝较多的用户的个人中心为进口,获取该用户的全部粉丝的个人中心链接,用户头像链接和用户名,并分别放入队列.开启两个线程获取信息,一个线程获取队列中的用户的信息并放入队列,另一个线程负责从头像链接队列中取出链接并下载用户头像. 爬虫分析 用浏览器打开一个用户的粉丝列表(http://coolapk.com/u/[用户id]/contacts) 并查看源码 我们可以看到粉丝列表以HTML的ul标签显示,并且其id为dataList,ul标签中的各个li标签即为每一个用户的信息啦

二维码长轮询获取登陆并获取用户基本信息

a.status=408什么也没有操作 b.status=201微信扫了码但是没有点击确认 c.status=200代表扫码成功并确认登陆 前端是当页面加载完成才弄下一次请求,利用ajax请求,当status=408时,一直在加载请求,当status=201时,获取用户头像一直加载请求,直到status=200才跳转到另一个页面,涉及到登陆记得加cookie 1.请求登陆的地址,请求登陆的 时候会有上面说的三种状态,分别判断 2.如果是确认扫码登陆了,会返回一个redirect_uri地址,这个

Android--利用相机或相册截取用户头像(解决了miui无法截取,以及部分机型拍照无返回Uri)

声明 本文的Demo可用于从本地获取用户头像时使用,解决了有些手机系统相机拍照后获取不到拍摄照片的问题,以及解决小米miui系统调用系统裁剪图片功能camera.action.CROP后崩溃或重新打开app的问题. 修改了部分机型拍照后返回的是缩略图的临时文件的问题. 如何获得一张原图 先看代码: UtilClass.requestPermission(ChangeMyDataActivityCopy.this, android.Manifest.permission.CAMERA); choo

python获取微信公共平台消息列表和用户头像

转载需注明原文地址:http://blog.csdn.net/btyh17mxy/article/details/25207889 刚写的模拟登陆的方式从获取微信公众平台消息列表和用户头像的库,之后还会继续增加相关功能,github地址https://github.com/btyh17mxy/wxwall #!/usr/bin/env python # coding: UTF-8 import json import hashlib import re import random import

微信获取用户基本信息,头像是一张“暂时无法查看”的图?

是这个 http://wx.qlogo.cn/mmopen/UAqwJ95HSLycmQktIqAYuexoytJ3kJzknQ4icJkNpfUvxfqoNRDY2esKQj3YvxXuQacsu9fYKDQ1VUSVBxspic4MwNDTF4Z4zu/0 我看到的图是下面这样的,以前这个用户的头像是正常的,但是最近发现变成这样了,他也没有换微信头像的. 会不会是微信的头像地址改了? 现在可以了,我重新给他向微信获取了一遍信息,原来的图片url就可以用了,而且我发现微信有个逻辑变了:以前用户

微信开发 网页授权获取用户基本信息

微信公众平台最近新推出微信认证,认证后可以获得高级接口权限,其中一个是OAuth2.0网页授权,很多朋友在使用这个的时候失败了或者无法理解其内容,希望我出个教程详细讲解一下,于是便有了这篇文章. 一.什么是OAuth2.0 官方网站:http://oauth.net/   http://oauth.net/2/ 权威定义:OAuth is An open protocol to allow secure authorization in a simple and standard method

微信网页授权认证获取用户的详细信息,实现自动登陆-微信公众号开发干货

原创声明:本文为本人原创作品,绝非他处转账,转载请联系博主 从接触公众号到现在,开发维护了2个公众号,开发过程中遇到很多问题,现在把部分模块功能在这备案一下,做个总结也希望能给其他人帮助 工欲善其事,必先利其器,先看看开发公众号需要准备或了解什么 web开发工具:官方提供的开发工具,使用自己的微信号来调试微信网页授权.调试.检验页面的 JS-SDK 相关功能与权限,模拟大部分 SDK 的输入和输出.下载地址:web开发工具下载 开发文档:https://mp.weixin.qq.com/wiki

微信公众平台开发(86) 获取用户基本信息

本文介绍在微信公众平台上如何使用高级接口开发获取用户基本信息的功能. 一.获取用户基本信息接口 在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的.对于不同公众号,同一用户的openid不同).公众号可通过本接口来根据OpenID获取用户基本信息,包括昵称.头像.性别.所在城市.语言和关注时间. 获取用户基本信息 开发者可通过OpenID来获取用户基本信息.请使用https协议. 接口调用请求说明 http请求方式: GE