1

私のアプリはカメラを使用して写真を撮ります。問題は、写真が 90 度回転していることです。アプリは縦向きで実行するように設計されており、私は設定しました

android:configChanges="orientation|screenSize" 

方向転換を避けるためです。私はそれを修正することができたと思った

parameters.setRotation(90);

しかし、デバイスによって異なることが判明しました (lenovo ThinkPad タブレットと複数のスマートフォンでテスト済み)。写真の EXIF を読み取ってみましたが、向きは含まれていません。同様の投稿がたくさんあることは知っていますが、それらのほとんどはデフォルトのカメラアプリに関するものです。誰かがこの問題の原因を説明してくれませんか?どうすれば修正できますか? 前もって感謝します。

4

2 に答える 2

0

あなたが望むように画像を得るためにこれを試してください

public static Bitmap createRotatedBitmap(Bitmap bm, float degree) {

ビットマップ ビットマップ = null;

if (度!= 0) {

マトリックス マトリックス = 新しいマトリックス();

matrix.preRotate(度);

ビットマップ = Bitmap.createBitmap(bm, 0, 0, bm.getWidth(),

bm.getHeight(), matrix, true);

}

ビットマップを返します。

}

ビットマップ = createRotatedBitmap(ビットマップ, 90);

于 2012-08-02T08:45:34.430 に答える
0

はい、向きはすべてのデバイスでまったく同じではありません。これは完全にハードウェアに依存しており、デバイスごとに異なる場合があります。あなたはそれを修正することはできません.アプリケーションが最初に起動されたときにユーザーが回転を設定できるようにするオプションは1つだけです基本回転角度を取得して設定に保存し、後で機能を提供します.

于 2012-08-02T08:46:07.130 に答える