我注意到,在将我的jpeg文件转换为位图之后,大小几乎下降了一半,这是正常的吗?我做这样的事情:
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);
解决方法:
您的代码正在将jpeg解码为位图,然后再将其重新压缩为jpeg.重新压缩可能会减小文件大小,但代价是也会降低图像质量.
Jpeg压缩(即使质量为100)也不是无损的.