实现圆角的方法,此方法可以将一个位图改变为一个圆角位图:
- /**
- * 获取圆角位图的方法
- * @param bitmap 需要转化成圆角的位图
- * @param pixels 圆角的度数,数值越大,圆角越大
- * @return 处理后的圆角位图
- */
- public static Bitmap toRoundCorner(Bitmap bitmap, int pixels) {
- 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 = pixels;
- 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;
- }
上面的方法就可以讲bitmap图片变为圆角,如果要圆形直接讲pixels变为360就OK啦!