工作中经常用到圆形头像
有两种解决方法
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;}//构建一个bitmapBitmap 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);//返回已经绘画好的backgroundBmpreturn backgroundBmp;
}
2.Glide
Glide.with(mContext).load(bean.getPic()).apply(RequestOptions.circleCropTransform()).into(headImg);
喜欢可以加群号:913934649