Android将文件大小调整到一定大小

时间:2016-03-16 13:59:02

标签: android file

我有一个文件(来自已选择的图库或相机捕获意图的图像)。此图像可以具有不同的权重(从1 MB到10 MB)。是否可以将任何文件图像压缩到一定的重量?比方说,例如设置1 MB的限制?

1 个答案:

答案 0 :(得分:0)

您可以尝试通过与初始大小与目标大小成比例的因子来压缩它(例如10MB - > 1MB因子10%,4MB-> 1MB 25%),但是大小和压缩比之间的相关性比在图像像素尺寸和尺寸之间。

Bitmap original = BitmapFactory.decodeStream(getAssets().open(originalImagePath));
FileOutputStream out = new FileOutputStream(targetImagePath);
original.compress(Bitmap.CompressFormat.JPG, ratio, out);

如果您的图像包含大量纯色,那么10%的压缩可能看不太多,但如果您的图像依赖于大量的渐变过渡,您会注意到压缩导致的图像质量下降。