我的应用正在使用相机拍照。问题是,照片旋转了90度。该应用程序设计为纵向运行,我已设置
android:configChanges="orientation|screenSize"
避免方向改变。我以为我设法用
修复它parameters.setRotation(90);
但事实证明它在不同设备上有所不同(在联想ThinkPad平板电脑和智能手机上进行了测试)。我尝试阅读照片的EXIF,但不包括方向。我知道有很多类似的帖子,但大多数都认为默认的相机应用程序。有人可以解释一下这个问题是由什么造成的,我该如何解决?提前致谢。
答案 0 :(得分:0)
尝试使用此功能获取想要的图像
public static Bitmap createRotatedBitmap(Bitmap bm,float degree){
Bitmap bitmap = null;
if(degree!= 0){
Matrix matrix = new Matrix();
matrix.preRotate(度);
bitmap = Bitmap.createBitmap(bm,0,0,bm.getWidth(),
bm.getHeight(), matrix, true);
}
返回位图;
}
bitmap = createRotatedBitmap(bitmap,90);
答案 1 :(得分:0)
是的,所有设备的方向都不完全相同。它完全取决于硬件,可以改变设备到设备。您无法修复它,只有一个选项允许用户在第一次启动应用程序时设置旋转,获得基本旋转角度并将其保存到设置中,然后再提供您的功能。