圖片壓縮的方法有很多,這兩天向同學學了一種方法,剛覺非常行之有效,與大家分享。
圖片壓縮的作用:
當我們上傳圖片到數據庫時,如果是頭像圖片,那麼在客戶端顯示出來一般是縮略圖,這時大圖是沒有用的,又浪費加載時間
圖片壓縮的方法
/*
壓縮路徑下的文件
*/
private File imageFactory(String picPath){
BitmapFactory.Options o=new BitmapFactory.Options();
Bitmap bitmap=BitmapFactory.decodeFile(picPath, o);
bitmap=Bitmap.createScaledBitmap(bitmap, 400, 400, false);
File root= getExternalCacheDir();
File pic=new File(root,"test.jpg");
try {
FileOutputStream fos=new FileOutputStream(pic);
bitmap.compress(Bitmap.CompressFormat.JPEG,50,fos);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return pic;
}
使用解析
bitmap=Bitmap.createScaledBitmap(bitmap, 400, 400, false);
這段代碼將圖片大小壓縮到 400*400
bitmap.compress(Bitmap.CompressFormat.JPEG,50,fos);
這段將圖片質量減少到原來的一半
最後返回的File 爲圖片在內存中的暫存地址,自動釋放,不用手動刪除