package com.afollestad.silk.views.image; import android.content.Context; import android.graphics.*; import android.util.AttributeSet; public class SilkRoundedImageView extends SilkImageView { public SilkRoundedImageView(Context context, AttributeSet attrs) { super(context, attrs); paint = new Paint(); paint.setAntiAlias(true); paintBorder = new Paint(); paintBorder.setColor(Color.DKGRAY); paintBorder.setAntiAlias(true); } private final Paint paint; private final Paint paintBorder; private int borderWidth = 2; public SilkRoundedImageView setBorderWidth(int width) { borderWidth = width; return this; } @Override protected Bitmap onPostProcess(Bitmap image) { Bitmap circleBitmap = Bitmap.createBitmap(image.getWidth(), image.getHeight(), Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(circleBitmap); BitmapShader shader = new BitmapShader(image, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP); paint.setShader(shader); int circleCenter = image.getWidth() / 2; canvas.drawCircle(circleCenter + borderWidth, circleCenter + borderWidth, circleCenter + borderWidth, paintBorder); canvas.drawCircle(circleCenter + borderWidth, circleCenter + borderWidth, circleCenter, paint); return circleBitmap; } }