Convert Bitmap To Circular Bitmap - Android Graphics

Android examples for Graphics:Bitmap Rounded

Description

Convert Bitmap To Circular Bitmap

Demo Code


//package com.java2s;

import android.graphics.Bitmap;

import android.graphics.Bitmap.Config;

import android.graphics.Canvas;

import android.graphics.Paint;

import android.graphics.PorterDuff.Mode;
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.RectF;

public class Main {
    public static Bitmap ToCircular(Bitmap bitmap) {
        Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),
                bitmap.getWidth(), Config.ARGB_8888);
        Canvas canvas = new Canvas(output);
        final int color = 0xff000000;
        final Paint paint = new Paint();
        final Rect rect = new Rect(0, 0, bitmap.getWidth(),
                bitmap.getWidth());/*from  w  ww . j a  v  a 2  s  .  c  om*/
        final RectF rectF = new RectF(rect);

        final float roundPx = (bitmap.getWidth()) / 10;
        paint.setAntiAlias(true);
        canvas.drawARGB(0, 0, 0, 0);
        canvas.drawRoundRect(rectF, roundPx, roundPx, paint);
        paint.setColor(color);
        paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
        // paint.setStyle(Style.STROKE);
        // paint.setStrokeWidth(2);
        canvas.drawBitmap(bitmap, rect, rect, paint);
        return output;
    }
}

Related Tutorials