Canvas画圆形图片的方式

543 阅读1分钟

自定义图片的时候需要用到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;
    }