在Android中進行圖像處理的任務時,有時我們希望將處理后的結果以圖像文件的格式保存在內部存儲空間中,本文以此為目的,介紹將Bitmap對象的數據以PNG格式保存下來的方法。
1、添加權限
由於是對SD card進行操作,必不可少的就是為你的程序添加讀寫權限,需要添加的內容如下:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>
對這兩個權限進行簡要解釋如下:
"android.permission.MOUNT_UNMOUNT_FILESYSTEMS"-->允許掛載和反掛載文件系統可移動存儲
"android.permission.WRITE_EXTERNAL_STORAGE"-->模擬器中sdcard中創建文件夾的權限
2、保存圖片的相關代碼
代碼比較簡單,在這里存儲位置是寫的絕對路徑,大家可以通過使用Environment獲取不同位置路徑。
Tips:在使用該函數的時候,記得把文件的擴展名帶上。
private void saveBitmap(Bitmap bitmap,String bitName) throws IOException { File file = new File("/sdcard/DCIM/Camera/"+bitName); if(file.exists()){ file.delete(); } FileOutputStream out; try{ out = new FileOutputStream(file); if(bitmap.compress(Bitmap.CompressFormat.PNG, 90, out)) { out.flush(); out.close(); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }