Android imageview 圆形头像

本文介绍了在Android开发中创建圆形头像的两种常见方法:处理Bitmap和使用Glide库。通过这两种方式,开发者可以轻松地将方形头像转换为适合UI设计的圆形展示。

 

工作中经常用到圆形头像

有两种解决方法

1.处理bitmap

/**
 *      * 头像切成圆形显示
 *     
 **/
public Bitmap toRoundBitmap(Bitmap bitmap) {
    //圆形图片宽高
    int width = bitmap.getWidth();
    int height = bitmap.getHeight();
    //正方形的边长
    int r = 0;
    //取最短边做边长
    if (width > height) {
        r = height;
    } else {
        r = width;
    }
    //构建一个bitmap
    Bitmap backgroundBmp = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    //new一个Canvas,在backgroundBmp上画图
    Canvas canvas = new Canvas(backgroundBmp);
    Paint paint = new Paint();
    //设置边缘光滑,去掉锯齿
    paint.setAntiAlias(true);
    //宽高相等,即正方形
    RectF rect = new RectF(0, 0, r, r);
    //通过制定的rect画一个圆角矩形,当圆角X轴方向的半径等于Y轴方向的半径时,
    //且都等于r/2时,画出来的圆角矩形就是圆形
    canvas.drawRoundRect(rect, r / 2, r / 2, paint);
    //设置当两个图形相交时的模式,SRC_IN为取SRC图形相交的部分,多余的将被去掉
    paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
    //canvas将bitmap画在backgroundBmp上
    canvas.drawBitmap(bitmap, null, rect, paint);
    //返回已经绘画好的backgroundBmp
    return backgroundBmp;
}

2.Glide

Glide.with(mContext)
        .load(bean.getPic())
        .apply(RequestOptions.circleCropTransform())
        .into(headImg);

喜欢可以加群号:913934649

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值