缩小图像尺寸Android中编程

问题描述 投票:-1回答:1

我开发一个应用程序,其中,有一个档案页面,供用户可以通过相机或画廊设置它的形象。

现在,当用户将大图像,然后我的应用程序停止不幸的是,我发现一个原因是,我们不能设置图像查看图像超过一定大小。

所以我决定把它放在图像视图之前缩小图像尺寸。

在这里,我发现了很多解决方案,但在所有的,它也降低了它的宽度和高度,但我不希望减少其宽度和高度。

我只是想减少百分比的大小。 E.x从1 MB到100kb的。

我如何能在Android中实现这一目标?

android image imageview android-drawable
1个回答
0
投票

试试这个办法,希望这将帮助你解决你的问题。

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;

}
© www.soinside.com 2019 - 2024. All rights reserved.