2017-11-29 3 views
1

Android用Android用のライブラリ(詳細についてはthisのチェック)を作成しました。AndroidでのCamera2の機能はすべて機能していますが、フルスクリーンカメラでのアスペクト比の問題です。ネイティブアンドロイドカメラ2のアスペクト比の問題に反応します

(のみプレビューがキャプチャした後、問題ではない本物の絵を持っている)、それは、プレビューと実際の画像にどのように見えるか、画像の下に

を確認し撮影した画像の水平ください:水平

enter image description here

プレビュー画像:

enter image description here

撮影した画像VERTICアル:

enter image description here

プレビュー画像縦:カメラ2のAPIの

enter image description here

、Googleのサンプルでは、​​同様の問題を持っているとhereを解決しました。

しかし、同じコードが私の反応するネイティブライブラリコードで動作しません。私は、画像とビデオの両方に1つのコードを使用しているかもしれませんし、ビデオキャプチャのためのコードを追加するかもしれません。

+0

は私を覚えこれらのスクリーンショットはしばらく前に見えましたが、どこに登場するのか疑問を見つけることはできません。あなたはそれを削除しましたか? –

答えて

0

多くの場合、カメラのセンサーのアスペクト比は画面のアスペクト比と一致しません。結果はあなたが現在経験しているものです。

このアスペクト比の不一致が原因です。実際にプレビューをフルスクリーンにすることはできません。 があり、「有効な」寸法が選択されています。それではどうしますか?

センサーの寸法については何もできません。私たちが答えなければならない質問は、私のプレビューの高さはどうでしょうか?

センサ(ポートレートを想定):

  • 幅:50
  • 高さ:100
  • アスペクト比(幅/高さ(仮定肖像モード)ここ

    の例です)= 0.5

スクリーン(肖像写真と仮定):

  • 幅:400
  • 高さ:1000
  • アスペクト比(幅/高さ)=上記の値0.4

、あなたのプレビュー画像が "伸ばし" であろう。

ここでそれを修正する方法は次のとおりです。

私たちは、私たちが望むアスペクト比を知っている:私たちは、画面(ポートレート)の幅を知っている0.5

幅/高さ= 0.5

を:

400 /高さ= 0.5

高さ= 400/0.5 = 800

のNO xまたはy方向の延伸を持たないために、高さ(ポートレートを想定)する必要がある:プレビュー幅/所望のアスペクト比

+0

[この回答](https://stackoverflow.com/a/30153071/192373)、古いカメラAPIについても関連性があります。 –

関連する問題