Android自定义圆形图片

public class RoundBitmapUtils {
    public static Bitmap getBitmap(Bitmap bitmap){
        //依据原有图片,重新创建一张新的图片,图片格式发生变化:ARGB-444
        Bitmap b = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_4444);
        //1.将图片当做画布的背景
        Canvas canvas = new Canvas(b);
        //2.创建画笔
        Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
        paint.setColor(Color.BLUE);
        canvas.drawARGB(0, 0, 0, 0);
        //3.取半径
        float radius = Math.min(bitmap.getWidth(), bitmap.getHeight())/2;
        canvas.drawCircle(bitmap.getWidth()/2, bitmap.getHeight()/2, radius, paint);
        //4.重置画笔
        paint.reset();
        //5.调用截图图层的方法
        paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
        //6.画图片
        canvas.drawBitmap(bitmap, 0,0, paint);
        return b;
    }
}

用的时候在Activity中调用

RoundBitmapUtils.getBitmap(bitmap);传入想要变圆的图片返回的就是原型图片

你可能感兴趣的:(Android自定义圆形图片)