繁体   English   中英

以人像模式从相机拍摄的加载到画布上的照片为横向

[英]Photos loaded onto canvas taken from a camera in portrait mode are landscape

如果我在人像模式下用相机在android系统中拍摄照片,然后将其作为位图加载并绘制到画布上,则它会逆时针旋转90度并横向移动。 我使用BitmapFactory.decodeFile(imagePath); 加载图像。 有谁知道为什么会这样?

请查看Android上的答案:在风景模式下强制捕获照片

最重要的是,捕获保留了硬件摄像头的方向,这在大多数电话中都是横向的。 您几乎没有办法找到拍摄照片时设备相对于水平线的实际方向,例如JPEG文件的EXIF标头。 解码此类文件的位图方法不考虑EXIF信息,即使存在该信息也是如此。 但是,可以选择一种在位图加载后对其应用旋转的方法。

另一种方法是将旋转应用于捕获的JPEG文件,如Java中的“ 无损JPEG旋转(90/180/270度)”中所述? PlayStore上甚至有一个应用程序可以做到这一点: https : //play.google.com/store/apps/details? id = com.lunohod.jpegtool。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM