1

我的应用程序正在使用相机拍照。问题是,照片​​旋转了 90 度。该应用程序设计为纵向运行,我已设置

android:configChanges="orientation|screenSize" 

以避免方向改变。我以为我设法解决了

parameters.setRotation(90);

但事实证明,它在不同的设备上有所不同(在联想 ThinkPad 平板电脑和一些智能手机上进行了测试)。我尝试阅读照片的 EXIF,但其中不包括方向。我知道有很多类似的帖子,但大多数都是关于默认相机应用程序的。有人可以解释一下这个问题是由什么引起的,我该如何解决?提前致谢。

4

2 回答 2

0

试试这个以获得你想要的图像

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

位图位图=空;

如果(度!= 0){

矩阵矩阵 = 新矩阵();

matrix.preRotate(度);

位图 = Bitmap.createBitmap(bm, 0, 0, bm.getWidth(),

bm.getHeight(), matrix, true);

}

返回位图;

}

位图 = createRotatedBitmap(位图, 90);

于 2012-08-02T08:45:34.430 回答
0

是的,所有设备的方向都不完全相同。它完全依赖于硬件,可以因设备而异。您无法修复它,只有一个选项允许用户在您的应用程序第一次启动后设置旋转获取基本旋转角度并将其保存到设置中,然后再提供您的功能。

于 2012-08-02T08:46:07.130 回答