1 public void transImage(String fromFile, String toFile, int width, int height, int quality)
 2 
 3     {
 4 
 5         try
 6 
 7         {
 8 
 9             Bitmap bitmap = BitmapFactory.decodeFile(fromFile);
10 
11             int bitmapWidth = bitmap.getWidth();
12 
13             int bitmapHeight = bitmap.getHeight();
14 
15             // 缩放图片的尺寸
16 
17             float scaleWidth = (float) width / bitmapWidth;
18 
19             float scaleHeight = (float) height / bitmapHeight;
20 
21             Matrix matrix = new Matrix();
22 
23             matrix.postScale(scaleWidth, scaleHeight);
24 
25             // 产生缩放后的Bitmap对象
26 
27             Bitmap resizeBitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmapWidth, bitmapHeight, matrix, false);
28 
29             // save file
30 
31             File myCaptureFile = new File(toFile);
32 
33             FileOutputStream out = new FileOutputStream(myCaptureFile);
34 
35             if(resizeBitmap.compress(Bitmap.CompressFormat.JPEG, quality, out)){
36 
37                 out.flush();
38 
39                 out.close();
40 
41             }
42 
43             if(!bitmap.isRecycled()){
44 
45                 bitmap.recycle();//记得释放资源,否则会内存溢出
46 
47             }
48 
49             if(!resizeBitmap.isRecycled()){
50 
51                 resizeBitmap.recycle();
52 
53             }
54 
55  
56 
57         }
58 
59         catch (FileNotFoundException e)
60 
61         {
62 
63             e.printStackTrace();
64 
65         }
66 
67         catch (IOException ex)
68 
69         {
70 
71             ex.printStackTrace();
72 
73         }
74 
75     }
 
http://www.wizzer.cn/?p=1792