我想将从相机拍摄的图片压缩成PNG格式,以使它们更小,因此我正在使用以下代码:
compressedPictureFile = new File(imagePath);
Bitmap bitmap = BitmapFactory.decodeFile(imagePath);
FileOutputStream fOut = new FileOutputStream(compressedPictureFile);
boolean compressed = bitmap.compress(Bitmap.CompressFormat.PNG, 0, fOut);
fOut.flush();
fOut.close();
问题在于压缩后的图片文件实际上比原始图片还要大(从1MB增加到了6MB)。
我错过了什么?这是否是减小图像大小的最佳方法?
谢谢
quality
参数会影响使用jpg压缩时颜色的保留程度,但在输出png时没有任何影响。您可以在此处阅读有关compress
方法的一些信息:http://developer.android.com/reference/android/graphics/Bitmap.html#compress%28android.graphics.Bitmap.CompressFormat,%20int,%20java.io.OutputStream%29 - JaveBitmap.createScaledBitmap
创建一个新的、较小的位图:http://developer.android.com/reference/android/graphics/Bitmap.html#createScaledBitmap%28android.graphics.Bitmap,%20int,%20int,%20boolean%29 - Jave