我开发一个应用程序,其中,有一个档案页面,供用户可以通过相机或画廊设置它的形象。
现在,当用户将大图像,然后我的应用程序停止不幸的是,我发现一个原因是,我们不能设置图像查看图像超过一定大小。
所以我决定把它放在图像视图之前缩小图像尺寸。
在这里,我发现了很多解决方案,但在所有的,它也降低了它的宽度和高度,但我不希望减少其宽度和高度。
我只是想减少百分比的大小。 E.x从1 MB到100kb的。
我如何能在Android中实现这一目标?
试试这个办法,希望这将帮助你解决你的问题。
public Bitmap decodeFile(String path) {
try {
// Decode image size
BitmapFactory.Options o = new BitmapFactory.Options();
o.inJustDecodeBounds = true;
BitmapFactory.decodeFile(path, o);
// The new size we want to scale to
final int REQUIRED_SIZE = 70;
// Find the correct scale value. It should be the power of 2.
int scale = 1;
while (o.outWidth / scale / 2 >= REQUIRED_SIZE && o.outHeight / scale / 2 >= REQUIRED_SIZE)
scale *= 2;
// Decode with inSampleSize
BitmapFactory.Options o2 = new BitmapFactory.Options();
o2.inSampleSize = scale;
return BitmapFactory.decodeFile(path, o2);
} catch (Throwable e) {
e.printStackTrace();
}
return null;
}