自定义图片的时候需要用到canvas去绘制UI,有时候会有将图片显示为圆形的需求,这时候我们可以通过canvas的设置来实现 1.
Path path = new Path();
path.addCircle(radius,radius,radius, Path.Direction.CW);
canvas.clipPath(path);
canvas.drawBitmap(this.bitmap,radius,radius,paint);
public Bitmap circleBitmap(Bitmap source) {
// int width = source.getWidth();
Bitmap bitmap = Bitmap.createBitmap(this.radius, this.radius, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
Paint paint = new Paint();
paint.setAntiAlias(true);
canvas.drawCircle(this.radius, this.radius, this.radius, paint);
//SRC_IN表示取交集部分
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(source, 0, 0, paint);
return bitmap;
}