Android调整文件大小,直到达到一定大小

Android调整文件大小,直到达到一定大小,android,file,Android,File,我有一个文件(从精选的画廊或相机拍摄的图像)。此图像可以具有不同的权重(从1 MB到10 MB)。是否可以将任何文件图像压缩到一定的权重??例如,设置1 MB的限制?您可以尝试将其压缩到与初始大小和目标大小成比例的因子(例如10MB->1MB因子10%,4MB->1MB因子25%),但大小和压缩比之间的相关性要比图像像素尺寸和大小之间的相关性弱 Bitmap original = BitmapFactory.decodeStream(getAssets().open(originalImageP

我有一个文件(从精选的画廊或相机拍摄的图像)。此图像可以具有不同的权重(从1 MB到10 MB)。是否可以将任何文件图像压缩到一定的权重??例如,设置1 MB的限制?

您可以尝试将其压缩到与初始大小和目标大小成比例的因子(例如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%的压缩可能不太明显,但是如果您的图像依赖于大量渐变过渡,您将注意到压缩导致的图像质量下降

应该在哪里调整大小?对不起,我的意思是压缩,而不是调整大小。虽然我仍然想知道你是第一个选择这个用户名的人!:-)