用户头像的圆形显示

【问题说明】:

在显示注册用户的头像的时候,如果是矩形的话会比较难看,一般处理成圆形,需要2步:

step1:将图片按照matrix进行压缩成正方形;

step2:将正方形图片转为圆形图片

【工具类】:

下面提供2个方法:

public class BitmapUtils {   //图片的压缩,将图片source压缩成宽为w,高为h的图片   public static Bitmap zoom(Bitmap source,float w ,float h){//参数2,3:必须不能声明int      Matrix matrix = new Matrix();//导包不要导错      matrix.postScale(w / source.getWidth(),h / source.getHeight());      Bitmap bitmap = Bitmap.createBitmap(source, 0, 0, source.getWidth(), source.getHeight(), matrix, true);      return bitmap;   }   

   //将一张图片转为圆形头像   public static Bitmap circleBitmap(Bitmap source) {      //获取图片的宽度      int width = source.getWidth();      //创建一个与source等宽的Bitmap对象      Bitmap bitmap = Bitmap.createBitmap(width, width, Bitmap.Config.ARGB_8888);      //创建等大小的画布      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));      //source:理解为上层图片      canvas.drawBitmap(source, 0, 0, paint);

      return bitmap;   }

}

【效果图】:

【使用工具类加载头像的代码】:
//读取本地保存用户信息的文件为一个User对象User user = ((BaseActivity) getActivity()).readLogin();//设置用户名textView11.setText(user.UF_ACC);//加载头像Picasso      .with(getActivity())      .load(user.UF_AVATAR_URL)      .transform(new Transformation() {         @Override         public Bitmap transform(Bitmap source) {            //对图片进行压缩处理            Bitmap zoom = BitmapUtils.zoom(source, DensityUtil.dip2px(AppNetConfig.HEAD_WITH), DensityUtil.dip2px(AppNetConfig.HEAD_WITH));            //对图片进行圆形处理            Bitmap circleBitmap = BitmapUtils.circleBitmap(zoom);            //回收Bitmap,否则报错            source.recycle();            return circleBitmap;         }         @Override         public String key() {            return "";//此方法不能返回null.否则报异常         }      })      .into(imageView1);
				
时间: 2024-07-30 10:11:01

用户头像的圆形显示的相关文章

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.createBit

JS实现鼠标经过用户头像显示资料卡的效果,可点击

基于项目的须要.须要制作出例如以下的一种页面效果:当用户鼠标经过好友列表中好友头像时,显示该好友的基本资料.事实上也就是类似QQclient的那种功能. 网上找了非常多代码,基本都实现了鼠标悬浮之后弹出div,离开之后立即就消失了.还有些纯CSS的代码实现了这种效果,可是对我没用,我须要的是JS的(由于我的数据还要通过Ajax取得),而且鼠标离开后不能立即隐藏.这个div上还有功能入口.这个页面效果折腾了我一天.由此可见我的JS和CSS技术有待提高... 搜索了好久,最终发现了可行的2个思路例如

App里面如何正确显示用户头像

1.说明,一般用户头像在上传的时候都会处理为正方形,如果没有处理该怎么正确显示用户头像呢?解决方案:用css强制 在线地址移动端:戳这里 <div class="main-meimg"><img src="http://playback-langlive.ufile.ucloud.com.cn/c8f137446774494db18e41839c4a788f.jpg" alt=""></div> css .ma

iOS之设置用户头像的圆角

1. 显示用户头像用UIImageView实现,添加默认图片后效果如下图所示,头像显示为矩形图片. 代码实现: // ViewController.m // SetUserImage // // Created by jerei on 15-4-26. // Copyright (c) 2015年 jerei. All rights reserved. // #import "ViewController.h" #define kWidth self.view.bounds.size.

IOS 设置圆角用户头像

在App中有一个常见的功能,从系统相册或者打开照相机得到一张图片,然后作为用户的头像.从相册中选取的图片明明都是矩形的图片,但是展示到界面上却变成圆形图片,这个神奇的效果是如何实现的呢? 请大家跟着下面的步骤,去实现选取并展示圆角头像的功能吧! 一.设置显示头像的圆角图片 1. 显示用户头像用UIImageView实现,添加默认图片后效果如下图所示,头像显示为矩形图片. 代码实现: // ViewController.m // SetUserImage // // Created by jere

Powershell管理系列(二十四)PowerShell操作之批量启用Exchange用户头像

-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微软产品实施及外包,QQ:185426445.电话18666943750 由于组织机构比较大,分支机构的员工可能都不能相互认识,可以在GAL中除了显示联系人信息还可以显示他的照片.在Exchange server 2013里面导入图片有两种方式,一种是使用Import-RecipientDataProperty,但是对图片大小有限制,图片必须是 JPEG 格式的文件,且不得大于 10 KB:第二种是使用

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

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

一个简单的blog系统(十四) 增加用户头像

1.现在我们来给博客添加用户头像. 假定:注册的用户根据注册时的邮箱湖区gravatar头像,未注册的用户则根据留言填的邮箱获取gravatar头像,在主页和用户也的文章标题的右侧显示作者的头像,在文章页面留言人的头像显示在留言板的右侧. 1.1 添加已经注册用户头像 我们已经引入了crypto加密模块,之前已经引用,这边就可以直接使用,首先,打开user.js,我们添加一行代码: var crypto = require('crypto'); 然后,我们将User.prototype.save

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

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