2012-04-17 84 views
6

在我的申請,我調用相機應用程序和拍照,並在特定的目錄保存它(例如/ SD卡等)如何減少JPEG圖像的尺寸在Android的

將圖片保存爲JPEG圖片。如何縮小圖像的大小?有沒有可用的圖像編碼器或壓縮?

我碰到另一張貼在傳來: Android Reduce Size Of Camera Picture

但這縮放圖像。我正在尋找可以壓縮或編碼的東西。可能嗎?

由於事先 Perumal

+0

http://stackoverflow.com/questions/4943016/android-how-to-compress-or-downsize-an-image – m4n07 2012-04-17 04:05:37

+0

http://stackoverflow.com /問題/ 6464062 /壓縮,圖像輸入功能的Android – m4n07 2012-04-17 04:09:04

+0

[考慮從這個鏈接看看] [1] [1]:http://stackoverflow.com/questions/10081008/outofmemoryerror-in-與許多小圖像遊戲/ 10086141#10086141 希望它能幫助你。 – 2012-04-17 06:38:40

回答

13

我不知道,反正你可以試試這個one.For減小圖像的大小首先應該將圖像轉換爲位圖,然後將其保存到特定目錄,然後壓縮位圖來設置圖像的質量並將其寫入正確的路徑。圖像的質量可以改變,希望這可以幫助您減少圖像的大小。

bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);` 

API

compress (Bitmap.CompressFormat format, int quality, OutputStream stream) 
+0

'100'意味着好還是壞? – faisal1208 2017-02-27 12:51:02

+0

@ faisal1208 100意味着最好的質量。 – Adrian 2017-04-22 14:56:46

1

可能是下面的代碼是對你有用

 opt = new BitmapFactory.Options(); 
     opt.inTempStorage = new byte[16 * 1024]; 
     opt.inSampleSize = 4; 
     opt.outWidth = 640; 
     opt.outHeight = 480; 
     Bitmap imageBitmap = BitmapFactory 
       .decodeStream(in, new Rect(), opt); 
     Bitmap map = Bitmap.createScaledBitmap(imageBitmap, 100, 100, true); 
     BitmapDrawable bmd = new BitmapDrawable(map); 
     ByteArrayOutputStream bao = new ByteArrayOutputStream(); 
     map.compress(Bitmap.CompressFormat.PNG, 90, bao); 
     ba = bao.toByteArray(); 
     imagedata=Base64.encodeBytes(ba);