1. 程式人生 > >將一個bitmap剪下成圓形的bitmap

將一個bitmap剪下成圓形的bitmap

/**
* 實現圓形頭像的處理

* @param bitmap
* @return
*/
public static Bitmap formatBitmap(Bitmap bitmap) {
// 圖片的寬度
int width = bitmap.getWidth();
// 圖片的高度
int height = bitmap.getHeight();


int r = width > height ? height : width;


// 建立一個畫布的背景
Bitmap backBitmap = Bitmap
.createBitmap(width, height, Config.ARGB_8888);
//新建一個畫布
Canvas canvas=new Canvas(backBitmap);
//建立畫筆
Paint paint=new Paint();
paint.setAntiAlias(true);

RectF rectF=new RectF(0, 0, r, r);
//先畫圓
canvas.drawRoundRect(rectF, r/2, r/2, paint);

//設定兩幅圖相交時的一個畫筆的處理模式
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));

//畫頭像
canvas.drawBitmap(bitmap, null, rectF, paint);

return backBitmap;
}