2010-12-14 3 views
0

私のカメラを正しく動作させるには少し助けが必要です。カメラのプレビューをビットマップに保存する

私がやっていることは、ユーザーが別のアクティビティでビューの背景として使用される写真を撮るようにすることです。歪みがないことが重要です。理想的には、画像は背景全体を最高の解像度で満たすことが理想的です。

私は、出力されたカメラの画像が適切に向き合ってディスプレイの同じ面になるように努力してきました。だから私は、私がする必要があることを正確に考える時間を取った、と私は通常の保存されたイメージを必要とは思わない。

私が思い描いたのは、プレビューを表示するには表面表示が必要で、テキストとキャプチャボタンのオーバーレイが必要だということでした。ユーザーが「写真を撮る」ときには、オートフォーカスが必要です。次に、プレビューをスクリーンオーバーレイの下にキャプチャして、他のアクティビティで使用するビットマップにする必要があります。

*プレビュー用にSurfaceViewを拡張し、それをオーバーレイを含むXMLレイアウトに追加する必要がありますか?

* SurfaceViewのイメージをビットマップに保存するにはどうすればよいですか?

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

答えて

0

プレビューフレームの画像フォーマットをjpegに変換するのは良い方法ではないので、カメラのサポートされている解像度を通過して最も近いものを取得することで、カメラのサイズを選択することになりました画面のアスペクトは最高解像度で表示されます。

camera.setRotationメソッドは何もしていないように見えるので、ポートレートモードの場合は、カードに保存する前にイメージ90を行列で回転させるだけです。

+0

こんにちはマット、カメラのセンサーは、本来、0、90、180または270度で実際のデバイスで回転されています。どのデバイスでも回転を正しく設定するには、回転された値を確認し、その値に基づいて回転させて回転させます。お役に立てれば。 – fadedreamz

0

マット、 私の気高さを言い訳にしても、Intentを使ってAndroid搭載カメラを使うのは簡単でしょうか?それは実行可能です、私は前にそれをやった。

+0

私はそれを考慮し、ギャラリーに格納されている画像をロードするオプションがアプリケーションにあります。そうでない理由は、余分な解像度は必要ないからです。画像を画面の正確な面にしたいからです。組み込みのカメラには、画像の正しい向きに「問題」があるようです(カスタムカメラを使ってバンドル内の向きを渡すこともできます)。私のカメラアクティビティを動作させることができない場合は、内蔵のカメラアプリを使うことに頼る必要があるかもしれませんが、自分のニーズに合わせたものを用意しています。 – Matt

+0

あなたは、あなたがリリースを完了し、次のリリースで作業することをprodding誰かが必要なように思えます。ちょうど私の2セント;) – hunterp

関連する問題