8

Android Phone ギャラリーから写真をトリミングして編集する必要があります。写真の元のサイズは 3264 * 2448 で、サイズ 1280 * 720 の画面に縮小画像として表示されます。トリミングすると、サイズが 185 * 139 の画像が得られます。

トリミングに使用しているコードは

        Intent cropIntent = new Intent("com.android.camera.action.CROP");
        cropIntent.setDataAndType(picUri, "image/*");
        cropIntent.putExtra("crop", "true");
        cropIntent.putExtra("return-data", true);
        startActivityForResult(cropIntent, PIC_CROP);

トリミングされた画像を imageView に表示すると、はるかに小さい画像として表示されます。

縮小版ではなく、元のサイズの画像をトリミングする必要があります。これを行う方法について教えてください。

4

3 に答える 3

2

追加:

intent.putExtra(MediaStore.EXTRA_OUTPUT, tempUri);

すると、縮小されていない画像ファイルが得られます。そして、代わりにこの保存されたファイルを使用します。

Intent.getExtras().getParcelable("data")

返されたビットマップは無視してください。

于 2013-04-26T06:32:16.653 に答える
0

まず、クロスデバイスの互換性についてクロップ インテントに依存できないことに注意してください。(どの OEM も、標準のカメラ/ギャラリー アプリを独自のバージョンに置き換えることができます)。これはさておき、インテントに入って目的の効果を得る必要があるいくつかの追加機能が不足していると思います。

// width & height are your desired width/height for the cropped result
cropIntent.putExtra("outputX", width);
cropIntent.putExtra("outputY", height);
cropIntent.putExtra("aspectX", width);
cropIntent.putExtra("aspectY", height);
cropIntent.putExtra("scaleUpIfNeeded", true);

それらをインテントに追加してみて、どうなるか見てみましょう。

于 2013-01-17T20:42:14.800 に答える