如果我在 android 中以纵向模式使用相机拍摄照片,然后将其加载为位图并将其绘制到画布上,它会出现逆时针旋转 90 度并以横向显示。我BitmapFactory.decodeFile(imagePath);
用来加载图像。有谁知道为什么会发生这种情况?
问问题
365 次
1 回答
0
底线是,捕获保留硬件摄像头方向,这在大多数手机中是横向的。在拍摄照片时,您几乎没有办法找到设备的实际方向与水平线,例如 JPEG 文件的 EXIF 标头。解码此类文件的位图方法不尊重 EXIF 信息,即使它存在。但您可以选择其中一种方式在加载位图后对其应用旋转。
另一种方法是对捕获的 JPEG 文件应用旋转,如Java 中的无损 JPEG 旋转(90/180/270 度)中所述?. PlayStore 上甚至还有一个应用程序可以做到这一点:https ://play.google.com/store/apps/details?id=com.lunohod.jpegtool 。
于 2013-10-20T05:27:42.603 回答