获取当前view的 bitmap
private Bitmap getBitmapFromView(View view) {
Bitmap bitmap = Bitmap.createBitmap(
view.getWidth(),
view.getHeight(),
Bitmap.Config.ARGB_8888
);
Canvas canvas = new Canvas(bitmap);
view.draw(canvas);
return bitmap;
}
修改bitmap 的尺寸
public Bitmap getNewBitmap(Bitmap bm, int targetWidth, int targetHeight) {
int srcWidth = bm.getWidth();
int srcHeight = bm.getHeight();
float widthScale = targetWidth * 1.0f / srcWidth;
float heightScale = targetHeight * 1.0f / srcHeight;
Matrix matrix = new Matrix();
matrix.postScale(widthScale, heightScale, 0, 0);
Bitmap bmpRet = Bitmap.createBitmap(targetWidth, targetHeight, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bmpRet);
Paint paint = new Paint();
paint.setColor(Color.WHITE);
paint.setAntiAlias(true);
paint.setFilterBitmap(true);
canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG));
canvas.drawBitmap(bm, matrix, paint);
return bmpRet;
}