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 に答える