写真を撮るアプリがあります。私の問題は、デバイスに保存する画像の向きです。多くの方法を使用してプレビューの向きを解決しましたが、デバイスに保存される画像には影響しません。問題を解決するために使用する方法:
Camera.Parameters parameters = camera.getParameters();
parameters.set("orientation", "portrait");
camera.setParameters(parameters);
&
mCamera.setDisplayOrientation(90);
&
mCamera.setDisplayOrientation(90);
mParameters = mCamera.getParameters();
mParameters.setRotation(90);
mCamera.setParameters(mParameters);
& AndroidMainfest.xml 内
android:screenOrientation="portrait"
また、Android開発者向けの公式サイトに記載されている方法と、「カメラ画像をディスプレイと同じ向きで表示したい場合は、このアドレスで次のコードを使用できます」: こちら
この方法はすべて、カメラのプレビューの向きでは正常に機能しますが、保存された画像では機能しません。また、私はこれを使用したくありません:
String path = pictureFile.getPath().toString();
Bitmap bmp = BitmapFactory.decodeFile(path);
Matrix matrix = new Matrix();
matrix.postRotate(90);
bmp = Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), bmp.getHeight(), matrix, true);
この方法は、保存された画像を使用して回転させ、再度保存すると画像の品質が低下するためです。この方法以外のアイデアはありますか? ありがとう