2011-02-10 11 views
3

Android Cameraで画像をキャプチャしたいのですが、画像に機密データが含まれている可能性があるため、画像を電話機やSDカードに保存しないでください。代わりに、すぐにサーバーに送信されるbase64文字列(圧縮)が必要ですファイルを電話機/ SDカードに保存せずにAndroidカメラの画像をキャプチャするにはどうすればよいですか?

ファイルは自動的にさまざまな場所にファイルが保存されているようです。 ネイティブに画像ストリームを取得できませんでした。onJpegPictureTaken()では、byte []パラメータは常にnullでした。

誰でも方法を提案できますか?

答えて

1

ビットマップに変換できるバイト配列を取得できるようにするには、Camera.onPreviewFrame()およびYuvImage.compresstoJpeg()を参照してください。

YuvImage.compressToJpeg()は、SDK 8以降でのみ使用できます。以前のバージョンでは、独自のYUVデコーダを実装する必要があります。いくつかの例がありますが、私は例を挙げることができます。

これらの2つの方法では、カメラの画像をメモリに保存し、SDに保存することはできません。ほとんどのカメラのプレビューサイズのビットマップはかなり素早くメモリを噛んでしまうことに注意してください。また、ビットマップをリサイクルするのに非常に注意する必要があります。また、それらを使って多くの作業を行い、ネイティブヒープ制限ほとんどのデバイスで

幸運を祈る!

関連する問題