カスタム ポートレート カメラを作成していますが、画像の向きに問題があります。詳細には、カメラを常に縦向きにする必要があり、それはマニフェスト構成を使用して行われます。
android:screenOrientation="ポートレート"
そして私はアプリケーションに設定しました:
customCamera.setDisplayOrientation(90);
デバイスを回転させると (90,180,270 度)、(カメラのプレビューから) 正しい画像が表示されるため、これは機能します。
デバイスの向きがロックされている(無効になっている)ときは気にしませんが、有効になっていると、向きの変更はないようです。コードを使用して常に0度を取得します:
getWindowManager().getDefaultDisplay().getRotation();
技術的には、撮影した写真に (exif データを使用して) 0、1、3、6、または 8 の値を書き込む必要があります。手順は次のとおりです。1) カスタム ポートレート カメラで正しい向きを設定します - 完了です。2) 右の画像をプレビューします - 完了! 3) デバイスの向きが有効になっている場合は、現在の回転 (0.90、180、270 度) を取得します。 4) 撮影した写真を正しい向きの exif タグで書き込みます。
開発にはSamsung Galaxy Iを使用しています。
質問は次のとおりです。アプリケーションが常にカスタムの縦向きカメラを表示し、回転させることはできませんが、デバイスの向きが有効になっている場合、デバイスの向きを取得するにはどうすればよいですか?
ありがとう、ニコラオス