Android将BitMap转化为圆形

来源:互联网 发布:android软件培训 编辑:程序博客网 时间:2024/06/06 06:31

直接上代码:

/** * 创建圆形图片 */public void createRoundBitMap(Bitmap bitmap) {    int width = bitmap.getWidth();    int height = bitmap.getHeight();    int left = 0, top = 0, right = width, bottom = height;    float roundPx = height / 2;   //角度    if (width > height) {        left = (width - height) / 2;        top = 0;        right = left + height;        bottom = height;    } else if (height > width) {        left = 0;        top = (height - width) / 2;        right = width;        bottom = top + width;        roundPx = width / 2;    }    Bitmap output = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);    Canvas canvas = new Canvas(output);    int color = 0xff424242;    Paint paint = new Paint();    Rect rect = new Rect(left, top, right, bottom);    RectF rectF = new RectF(rect);    paint.setAntiAlias(true);    canvas.drawARGB(0, 0, 0, 0);   //填充背景    paint.setColor(color);    canvas.drawRoundRect(rectF, roundPx, roundPx, paint);    paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));///两图交互显示的模式  (显示相交的)    canvas.drawBitmap(bitmap, rect, rect, paint);    imageView.setImageBitmap(output);}

0 0