1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
   | public Bitmap getRoundBitmap(Bitmap bitmap)  {     int d = Math.min(bitmap.getWidth(), bitmap.getHeight());
      Bitmap output = Bitmap.createBitmap(d, d, Config.ARGB_8888);     Canvas canvas = new Canvas(output);
      int r = d / 2;
      final Paint paint = new Paint();     final Rect rect = new Rect(0, 0, d, d);     final RectF rectF = new RectF(rect);
      paint.setAntiAlias(true);     canvas.drawARGB(0, 0, 0, 0);     paint.setColor(0xFFFFFFFF);     canvas.drawRoundRect(rectF, r, r, paint);     paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));     canvas.drawBitmap(bitmap, rect, rect, paint);
           Paint p = new Paint();     p.setAntiAlias(true);     p.setColor(Color.WHITE);     p.setStyle(Style.STROKE);     p.setStrokeWidth(r/25);     p.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));     canvas.drawCircle(r, r, r, p);
      return output; }
   |