如果我在Android中以纵向模式拍摄相机,然后将其作为位图加载并将其绘制到画布上,它会逆时针旋转90度并以横向方向旋转。我使用BitmapFactory.decodeFile(imagePath);
加载图片。有谁知道为什么会这样?
答案 0 :(得分:0)
请在Android: Photos force captured in Landscape mode查看答案。
最重要的是,捕获功能可以保留硬件摄像头的方向,这在大多数电话中都很流行。拍摄照片时,您可以通过几种方法找到设备的实际方向与地平线的关系,例如: JPEG文件的EXIF标题。解码此类文件的位图方法不尊重EXIF信息,即使它存在。但是,您可以选择在加载后将旋转应用于位图的方法之一。
另一种方法是将旋转应用于捕获的JPEG文件,如Lossless JPEG Rotate (90/180/270 degrees) in Java?中所述。 PlayStore上甚至还有一个应用程序:https://play.google.com/store/apps/details?id=com.lunohod.jpegtool。