1

インテントの作成中に画像を円形にトリミングし、以下のコードを使用しています

    intent.setData(mImageCaptureUri);
    intent.putExtra("outputX", 200);
    intent.putExtra("outputY", 200);
    intent.putExtra("aspectX", 1);
    intent.putExtra("aspectY", 1);

outputX = 200 を使用しているため、ズームインまたはズームアウトしても、トリミングされたすべての画像の幅と高さが 200 および 200 になります。

以下に示す両方の画像のズーム率は異なりますが、同じ高さと幅を返します。

 width  = bitmap.getWidth(); 

ここに画像の説明を入力

ここに画像の説明を入力

誰かがラインでどのパラメータを使用すればよいか教えてください

intent.putExtra("outputX", 200);

トリミングされた画像の真の幅と高さ(それぞれの場合で200ではない)を取得できるようにします。

4

1 に答える 1

0

以前の質問に答えたとき、これが問題だとは知りませんでした。あなたが探している答えは次のとおりだと思います:

intent.setData(mImageCaptureUri);
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("scale", false);

パラメータ scale を false に設定していることを確認してください。デフォルトは true です。

PS Android はオープン ソースで、カメラ + クロップ アプリは OS の一部なので、ソースを読むだけです。見るべきファイルはここにあります。変数 mScale をチェックして、パラメーターがどのように使用されているかを確認します。

于 2013-10-31T15:04:37.843 に答える