2011-01-11 18 views
0

カメラのプレビューから画像を保存することが可能かどうか疑問に思っていました。あなたが私に与えることができる例は何ですか?カメラのプレビューから画像をキャプチャする

私は可能な解決策として、これを発見した、と私はバイト配列から画像を保存する方法を知っているが、どのように私はすべてのN番目のフレームを保存を続行しますか?私はシステムの稼働時間を保存し、それをすべてのフレームでチェックすることを考えていましたが、それはちょっと不自由なようです。より良い方法がありますか?プレビューフレームレートなどの情報を得る方法はありますか?

Android: How to save a preview frame as jpeg image?

TNX。

+0

http://www.anddev.org/advanced-tutorials-f21/image-capture-and-save-in-android-1-5 -t7895.htmlこれはあなたに役立つかもしれないリンクです –

答えて

2

YUV420-to-RGBアルゴリズムを使用して、プレビューストリームから使用可能な形式に画像を変換できました。私のアプリケーションでは、色を分析する目的で2-3秒ごとにこれを実行します。

Runnableを適切に記述し、Handler.postDelayed()docsを参照)を使用して、適切な間隔でコールを連鎖させることができます。また、MessageHandler.sendMessageDelayed()を同じ効果としてHandler.handleMessage()を上書きして使用することもできます。

キーアイデアは、(遅延)そのメッセージを処理するコードで別の同一のメッセージを送信するためのコードを含むことです。これにより、連続キャプチャが可能になります。最終的にアプリケーションを停止する場合は、メッセージパイプラインをクリアするように注意してください。

+0

私のアプリケーションでもこの機能を実装しています。しかし、カメラのプレビューモードでは、1フレームしかキャプチャできません。私はプレビューモード中に5秒ごとにフレームをキャプチャしたいと思います。どのようにこれを達成するためのサンプル?ありがとう。 Uロック! – user1237183

1

あなたはCountDownTimerを使用することができます。 onPreviewFrameを無効にする必要があります。そこにはYUV420があります。 CountDownTimerでは、5秒ごとに独自のスクリーンショットメソッドを呼び出すことができます。またはArrayList<Bitmap>を使用して、onPreviewFrameからビットマップを追加します。スクリーンショットをキャプチャした後、すべてのビットマップを保存することができます....

関連する問題