我的应用程序有一个按钮,允许用户从图库中选择一张照片并在ImageView中显示。问题是,如你所知,从相机拍摄的图像是巨大的,所以我想调整它们的大小。
我找到了这个我想尝试的方法:
int inSample = 4;
opts = new BitmapFactory.Options();
opts.inSampleSize = inSample;
Bitmap b = BitmapFactory.decodeResource(c.getResources(), imgResId, opts);
问题是我只有拍摄的图像的URI,我不知道如何转换它或找到它的ID。
答案 0 :(得分: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);