2012-08-02 52 views
1

我的应用程序使用相机拍照。问题是,照片​​旋转了90度。该应用程序旨在纵向运行,并且我已经设置了在自定义相机应用程序中旋转的照片

android:configChanges="orientation|screenSize" 

以避免方向更改。我以为我设法与

parameters.setRotation(90); 

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

回答

0

尝试这样来为u想

公共静态位图图像createRotatedBitmap(位图BM,浮度){

位图位= NULL;如果(度!= 0){

如果(度数!= 0)

matrix.preRotate(degree);

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

bm.getHeight(), matrix, true); 

}

返回位图;

}

位图= createRotatedBitmap(位图,90);

+0

但是,如何检测我是否应该旋转图像?在某些设备上照片旋转正常... – 2012-08-02 08:49:39

0

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

+0

听起来很糟......但谢谢。 – 2012-08-02 09:00:02

+0

但是等等,有些应用程序(例如instagram)使用自定义相机,并且在各种设备上运行良好。必须有一种方法来解决它。 – 2012-08-02 09:20:31

相关问题