2016-03-19 20 views
1

目的は、ユーザーがAndroid搭載端末でカメラで新しい画像を取得できるようにすることです。私は最終的なイメージが正方形である必要があります。カメラクラスを使用せずにさらに多くの作業をすることなく、キャプチャ画像のサイズを制限する方法はありません。Androidのカメラからキャプチャした画像をアプリに戻さずにトリミングすることはできますか?

MediaStore.ACTION_IMAGE_CAPTUREインテントアクションを使用してカメラのアクティビティを開始し、画像をキャプチャした直後にトリミングアクションを実行することができます。 onActivityResult"com.android.camera.action.CROP"アクションを使用して目的の動作を得ることができましたが、これはカメラから戻るときにクロップアクションを開始する前にユーザーをアプリに戻します。私が今持っているもの、要約する

は次のとおりです。

My-app -> Camera -> My-app -> Crop

、理想的には、私は希望がある:

My-app -> Camera -> Crop -> My-app

(画像キャプチャの意図を伝えることが可能である場合私がちょうどそれを行う方法を逃した場合は素晴らしいだろうカメラを開くときに特定のサイズを使用する)。

ありがとうございます。

答えて

2

私はカメラからの復帰時onActivityResultで「com.android.camera.action.CROP」アクションを使用することによって、所望の動作を取得することができていますが、これは作物のアクションを開始する前に、私のアプリにユーザーを返します。

Android does not have a CROPIntent。文書化されていないIntentアクションをサポートするアクティビティを持つデバイスはほとんどありません。

、理想的には私が望むものです:私のアプリ - この作品のすべてを行うには>マイアプリ

あなたがカメラのAPIを使用することを歓迎しているとan image-cropping library - >カメラ - >作物あなた自身。

または、ACTION_IMAGE_CAPTUREを引き続きご利用いただけますが、自分で画像を切り抜いてください。

また、ほとんどのAndroid搭載端末で画像が切り取られることはないことにご注意ください。

+0

ありがとうございました。 – rking788

+0

多くのアンドロイドデバイスにCROPの意図はありませんか? ..... @CommonsWareを実装する唯一の方法はライブラリですか? –

+1

@KoVartthan: 'Intent'アクションは文書化されていません。デバイスがそれに応答するアクティビティを持つ必要はありません。何百万ものAndroid搭載端末にはこうした活動がないと想定してください。 「図書館はそれを実現する唯一の方法です」 - 作物を提供することはできませんでした。このような活動をしているデバイスでトリミングを行うこともできますが、多くのユーザーがアプリがデバイス上でうまく動作しない理由が不思議に思うかもしれません。ライブラリを使用するのは難しくありません。 – CommonsWare

関連する問題