android 圆形的ImageView

private Bitmap circleBitmap(Bitmap bitmap) {
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),
bitmap.getHeight(), Config.ARGB_8888);


Canvas canvas = new Canvas(output);
final int color = 0xff000000;
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());


mPaint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
mPaint.setColor(color);
final int width = bitmap.getWidth();
// cx:圆心的x坐标。cy:圆心的y坐标。radius:圆的半径。paint:绘制时所使用的画笔。
canvas.drawCircle(width / 2, width / 2, width / 2, mPaint);


mPaint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, mPaint);// 将图片绘制成白色图片
// 画白色圆圈
mPaint.reset();
mPaint.setColor(Color.WHITE);
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setAntiAlias(true);
canvas.drawCircle(width / 2, width / 2, width / 2 - STROKE_WIDTH / 2,
mPaint);


return output;


}



效果图如下

你可能感兴趣的:(android 圆形的ImageView)