0
JPG圧縮機能を使用してビットマップを圧縮しようとしています。ビットマップを圧縮すると常に同じバイトサイズが返されます
これは、コードの私の作品です:
ByteArrayOutputStream out = new ByteArrayOutputStream();
originalBitmap.compress(Bitmap.CompressFormat.JPEG, 80, out);
byte[] newArray = out.toByteArray();
Bitmap compressed = BitmapFactory.decodeByteArray(newArray, 0, newArray.length);
奇妙な行動は、私は圧縮率(すなわち80から50までを。)変更した場合、「アウト」配列のサイズが変更されるということです...ビットマップ "圧縮された"ビットマップは常に "originalBitmap"と同じバイト数で残っています。
なぜ誰かが私に説明することができますか? X * Y * D
、ここで:Bitmap
がかかりバイトの
私はあなたが何を意味するのか理解しました!あなたは私にビットマップを圧縮する良い方法を提案できますか? – Blasco73
@ Blasco73:「ビットマップを圧縮する」という意味がわかりません。 「より少ないメモリを必要とする小さなビットマップを作成する」という場合は、オリジナルのビットマップに 'createScaledBitmap()'を使用してください。 – CommonsWare
私は、幅と高さが固定されているが可変の圧縮率を持つビットマップ(ただし画像)を意味します。 – Blasco73