2011-07-15 24 views
3

jpegファイルをビットマップに変換した後、サイズがほぼ半減することに気がつきましたが、これは正常ですか?Android JPEG to Bitmap =サイズの縮小

bmp1 = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory() 
          + "/Test/test" + System.currentTimeMillis() 
          + ".jpg"); 
    ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
    bmp1.compress(Bitmap.CompressFormat.JPEG, 100, stream); 
    byte[] byteArray = stream.toByteArray(); 
    System.out.println(byteArray.length); 
+0

jpegを解凍してjpegに圧縮しているようです...小さい場合は、元のものよりも低い品質で圧縮する必要があります。 – Torp

+1

デコードされたビットマップが当初カメラや他のデジタルデバイスで撮影され、画像をデコードして再圧縮すると65,535バイトまでのExifデータがすべて削除された場合、他の答えは正しいです。心に留めておくだけのもの。 –

答えて

5

あなたのコードは、ビットマップにJPEGをデコードし、再度JPEGにそれを再圧縮している:私はこのような何かをやって。再圧縮は、画像の品質を低下させる代わりに、ファイルサイズを縮小する可能性があります。

Jpeg圧縮(品質100でも)は無損失ではありません。

関連する問題