Android Bitmap Corner Round getRoundedCornerBitmap(Bitmap bitmap, int dp, Context context)

Here you can find the source of getRoundedCornerBitmap(Bitmap bitmap, int dp, Context context)

Description

get Rounded Corner Bitmap

Declaration

public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, int dp,
            Context context) 

Method Source Code

//package com.java2s;

import android.content.Context;
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 getRoundedCornerBitmap(Bitmap bitmap, int dp,
            Context context) {/* www .j a  v a2 s.com*/

        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 = getPixels(dp, context);

        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));
        canvas.drawBitmap(bitmap, rect, rect, paint);

        return output;
    }

    public static int getPixels(int dp, Context context) {

        final float scale = context.getResources().getDisplayMetrics().density;
        int px = (int) (dp * scale + 0.5f);

        return px;

    }
}

Related

  1. getRoundedCornerBitmap(Bitmap bitmap)
  2. getRoundedCornerBitmap(Bitmap bitmap, float roundPx)
  3. roundCornersRGB888(Bitmap src, int roundPixles)
  4. getRoundedCornerBitmap(Context context, Bitmap bitmap, Boolean create_circle)
  5. getRoundedCornerBitmap(Bitmap bitmap)
  6. getRoundedCornerBitmap(Bitmap bitmap, float roundPx)