public static File createBitmapToFile(File file, Bitmap bmp, int quality) {
try {
OutputStream out = FileUtils.openOutputStream(file);
// First compression
bmp.compress(Bitmap.CompressFormat.JPEG, quality, out);
// Second compression
bmp.compress(Bitmap.CompressFormat.JPEG, quality, out);
out.flush();
out.close();
return file;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
我仍然不知道为什么第二次压缩导致更大的文件大小。我用70作为质量。
我在做错事吗?当你压缩某些东西并再压缩它不应该变小吗?
我的目标是不超过100k字节,所以当我超过它时,我需要降低文件大小。
答案 0 :(得分:0)
你不是'两次压缩位图'。您正在压缩它一次,并将其写入文件,并再次压缩它,原始位图,并将其写入文件。结果将是一次压缩的两倍。解决方案:使用一次压缩。
为什么你预计两次压缩小于一次,即使做得正确,也是另一个问题,但这不是你的代码实际做的。