(Android)画像を円形に処理する
2805 ワード
AndroidがBitmapを円形に処理するのはよくありますが、よく見かける場合はユーザーのアイコンとして、Canvasがこの機能を実現するのを支援することができます.コードは以下の通りです.
pixelsはピクチャの半径です
1 public static Bitmap toRoundCorner(Bitmap bitmap, int pixels) {
2 Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888);
3 Canvas canvas = new Canvas(output);
4 final int color = 0xff424242;
5 final Paint paint = new Paint();
6 final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
7 final RectF rectF = new RectF(rect);
8 final float roundPx = pixels;
9 paint.setAntiAlias(true);
10 canvas.drawARGB(0, 0, 0, 0);
11 paint.setColor(color);
12 canvas.drawRoundRect(rectF, roundPx, roundPx, paint);
13 paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
14 canvas.drawBitmap(bitmap, rect, rect, paint);
15 return output;
16 }
pixelsはピクチャの半径です