ギャラリーから画像を選択したときに、アプリケーションで画像をトリミングしたいと考えています。トリミング コードはシミュレーターから動作しますが、電話では正しく動作しません。outputX=400 と outputY=487 に設定しました。私のシミュレーターでは、400 x 487 の解像度で出力ビットマップを取得しますが、電話ギャラリーから画像をトリミングすると、145 x 177 の解像度で出力ビットマップを取得します。なぜそれが起こるのですか?トリミングのための私のコードは以下のとおりです
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 500);
intent.putExtra("aspectY", 750);
intent.putExtra("scale", true);
intent.putExtra("outputX", 400);
intent.putExtra("outputY", 487);
intent.putExtra("return-data", true);
startActivityForResult(Intent.createChooser(intent,"Complete action using"), PICK_FROM_GALLERY);
onActivityResult について
if (requestCode == PICK_FROM_GALLERY) {
Bundle extras2 = data.getExtras();
if (extras2 != null) {
Bitmap bm = extras2.getParcelable("data");
imgview.setImageBitmap(photo);}