我正在从相机和onActivityResult()
. 我将图像重新缩放为 800 x 600 以及 70% 的压缩系数。当我这样做时,我会为相同的相机分辨率获得不同的图像尺寸。
Bitmap pic = BitmapFactory.decodeFile(myPath);
Bitmap bitmap = Bitmap.createScaledBitmap(pic, 800, 600, true);
OutputStream os = null;
File file = new File("MyFile.png");
try {
os = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG,70,outputStream);
os.flush();
os.close();
pic = null;
}catch (IOException e){
...
}
以下数据适用于两种情况下的 5 MP,但不同的设备具有不同的 android 版本。我得到的输出是:
在 GingerBread(2.3.3) 上,保存到 SDCard 的图像大小为 130 KB。
在 JellyBean(4.2) 上,保存到 SDCard 的图像大小为 59.3 KB。