Android图片缩放 指定尺寸
//使用Bitmap加Matrix来缩放 public static Drawable resizeImage(Bitmap bitmap, int w, int h) { Bitmap BitmapOrg = bitmap; int width = BitmapOrg.getWidth(); int height = BitmapOrg.getHeight(); int newWidth = w; int newHeight = h; float scaleWidth = (( float ) newWidth) / width; float scaleHeight = (( float ) newHeight) / height; Matrix matrix = new Matrix(); matrix.postScale(scaleWidth, scaleHeight); // if you want to rotate the Bitmap // matrix.postRotate(45); Bitmap resizedBitmap = Bitmap.createBitmap(BitmapOrg, 0 , 0 , width, height, matrix, true ); return new BitmapDrawable(resizedBitmap); } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
//使用BitmapFactory.Options的inSampleSize参数来缩放 public static Drawable resizeImage2(String path, int width, int height) { BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true ; //不加载bitmap到内存中 BitmapFactory.decodeFile(path,options); int outWidth = options.outWidth; int outHeight = options.outHeight; options.inDither = false ; options.inPreferredConfig = Bitmap.Config.ARGB_8888; options.inSampleSize = 1 ; if (outWidth != 0 && outHeight != 0 && width != 0 && height != 0 ) { int sampleSize=(outWidth/width+outHeight/height)/ 2 ; Log.d(tag, "sampleSize = " + sampleSize); options.inSampleSize = sampleSize; } options.inJustDecodeBounds = false ; return new BitmapDrawable(BitmapFactory.decodeFile(path, options)); } |
推推族,免费得门票,游景区:www.tuituizu.com
结伴旅游,一个免费的交友网站:www.jieberu.com
以上内容,全部转载,如有侵权,请联系我!