0

我的应用程序有一个按钮,允许用户从图库中选择照片并将其显示在 ImageView 中。如您所知,问题是从相机拍摄的图像非常大,所以我想调整它们的大小。

我找到了我想尝试的这种方法:

int inSample = 4; 

opts = new BitmapFactory.Options();
opts.inSampleSize = inSample;

Bitmap b = BitmapFactory.decodeResource(c.getResources(), imgResId, opts);

问题是我只有所拍摄图像的 URI,我不知道如何转换它或找到它的 ID。

4

1 回答 1

1

Uris——如果支持的话ContentProvider——可以用来打开一个InputStream然后可以用来解码的Bitmap

所以它应该更像这样工作。

int inSample = 4;

opts = new BitmapFactory.Options();
opts.inSampleSize = inSample;
ContentResolver cr = getContentResolver();
Uri uri = getUri(); // whatever it is

// this will need some exception handling
Bitmap b = BitmapFactory.decodeStream(cr.openInputStream(uri), opts);
于 2012-09-01T14:16:55.493 回答