2016-05-18 25 views
0

CWAC2ライブラリをダウンロードしてハックしましたので、カメラのプレビューの周りにカスタムレイアウトを表示できます。CWAC2キャプチャのみの画像がプレビューに表示されます

私のActivity(左側)のFrameLayoutの中にCameraFragmentをプレビューモードで表示すると、1つのことがわかります。画像を撮った後(CameraFragmentから適切なメソッドを呼び出す)、ImageView内に画像を表示すると、「大きな画像」(右側)が表示されます。

プレビューに表示されているものだけをキャプチャするようにカメラを制限することはできますか?カメラの縦横比を設定する必要があると思います。

そして、いや、それはズームインしている左側の問題ではありません。

enter image description here

+0

「CWAC2ライブラリをダウンロードしてハックしたので、カメラのプレビューでカスタムレイアウトを表示できます。このライブラリの使用をやめ、カメラAPIを直接使用することをおすすめします。基本的には、「ライブラリをハックする」必要がある場合は、ライブラリを使用するべきではありません。ライブラリは 'ACTION_IMAGE_CAPTURE'の代わりです**と**それはそれです。 – CommonsWare

+0

"プレビューに表示されるものだけをキャプチャするようにカメラを制限する必要はありますか?" - カメラ画像がカメラプレビューのコンテンツと完全に一致する必要はありません。ハードウェアは、何でもしても構いません。解凍されていないCWAC-Cam2ライブラリは、プレビューをトリミングして、プレビューを画面に表示します。プレビューアスペクト比はピクチャのアスペクト比とはあまり関係がなく、画面のアスペクト比はピクチャのアスペクト比とは何の関係もないので、プレビューでユーザに見えるものよりも多くの画像が表示されることがあります。 – CommonsWare

答えて

0

私の知る限り理解されるように、あなたがそう、CameraViewがあなたのフレームレイアウトに送信される内容を変更する必要がありますカメラと同じことが表示されています(あなたの右の写真)。

CameraView.javaのadjustAspectRatio()内で、ビューのスケーリングを試してみてください。

txform.setRectToRect(rectView, rectPreview, Matrix.ScaleToFit.START); // or Matrix.ScaleToFit.CENTER 

    float scale=Math.max((float)yourFrameLayoutHeight/rectPreview.height(), (float)yourFrameLayoutWidth/rectPreview.width()); 
    txform.postScale(scale, scale, viewCenterX, viewCenterY); 
関連する問題