get Rounded Bitmap - Android android.graphics

Android examples for android.graphics:Bitmap Load Save

Description

get Rounded Bitmap

Demo Code

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 getRoundedBitmap(Bitmap bitmap) {
    if (null == bitmap) {
      return null;
    }//  w  ww . j  av  a  2  s . co m
    Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888);
    Canvas canvas = new Canvas(output);

    final int color = 0xff424242;
    final Paint paint = new Paint();
    final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
    final RectF rectF = new RectF(rect);
    final float roundPx = 80;

    paint.setAntiAlias(true);
    canvas.drawARGB(0, 0, 0, 0);
    paint.setColor(color);
    canvas.drawRoundRect(rectF, roundPx, roundPx, paint);

    paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
    try {
      canvas.drawBitmap(bitmap, rect, rect, paint);
    } catch (Exception e) {
      e.printStackTrace();
    }

    bitmap.recycle();
    return output;
  }

}

Related Tutorials