私はAndroidの初心者です。写真撮影機能を内蔵したアプリを作ろうとしています。問題は、写真の回転が正しくないことです。横向きモードで写真を撮ると良いのですが、縦向きモードでは写真の回転がおかしくなります。私の質問は、写真がランドスケープ/ポートレートモードで撮影されているかどうかを確認できますか?LogCatをチェックすると、「CameraEngine」という名前のタグが表示され、回転:0または90と表示されているためです。このようなカメラ情報をコードで取得できれば、すばらしいでしょう。
4133 次
3 に答える
5
画像の幅と高さを比較できます。
Bitmap bmp = your photo;
if(bmp.getWidth() > bmp.getHeight())
{
// landscape
}else
{
// portrait
}
于 2012-07-16T12:14:11.247 に答える
0
これはあなたが必要とすることをするはずです。向きを角度 (0/90/180/270) として返します。
private int getOrientation(Uri aUri, ContentResolver aRslv) {
Cursor _cursor = aRslv.query(aUri,
new String[] { MediaStore.Images.ImageColumns.ORIENTATION },
null, null, null);
if (_cursor != null) {
try {
if (_cursor.moveToFirst()) {
return _cursor.getInt(0);
} else {
return -1;
}
} finally {
_cursor.close();
}
} else {
return 0;
}
}
于 2012-07-16T12:17:26.057 に答える