工作中经常用到圆形头像
有两种解决方法
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

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

被折叠的 条评论
为什么被折叠?



