2016-09-11 13 views
2

イメージをキャプチャして内部メモリに保存するAndroidアプリケーションを作成していますが、イメージを圧縮するために、圧縮せずに元のサイズで保存したいと考えています。私は私が圧縮しないよう画像を圧縮せずにAndroidに保存するには?

これは、私が画像を保存するために使用していたコードです??

ContextWrapper cw = new ContextWrapper(context); 

File directory = cw.getDir("imageDir", Context.MODE_PRIVATE); 

File mypath = new File(directory, "TheChat" + (System.currentTimeMillis()/1000) + "Avatar.jpg"); 

FileOutputStream fileOutputStream = null; 
try { 
    fileOutputStream = new FileOutputStream(mypath); 
    bitmapImage.compress(Bitmap.CompressFormat.PNG, 100, fileOutputStream); 
} 
catch (Exception e) { 
    e.printStackTrace(); 
} 
finally { 
    try { 
     if (fileOutputStream != null) { 
      fileOutputStream.flush(); 
      fileOutputStream.close(); 
     } 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 
+2

あなたはイメージのために使用することに何のファイル形式を計画していますか?プログラマが使用するほとんどのファイル形式は、PNG、JPEG、GIF、WebPなど圧縮されています。 – CommonsWare

+0

なぜ可逆圧縮で圧縮しない方がいいですか? –

答えて

2

BLOB(bytearray)として保存し、読み込み時にビットマップに再変換します。それが内部使用のためだけであれば正常に動作するはずです。もしあなたがそれをまったく圧縮していないのであれば、まっすぐな形式で保存することもできます。

関連する問題