首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用相机意图旋转的相机图像

使用相机意图旋转的相机图像
EN

Stack Overflow用户
提问于 2016-05-17 23:19:03
回答 3查看 580关注 0票数 0

我在使用各种设备拍摄相机意图捕获图像时遇到了无穷无尽的问题,对于某些设备,这里提到的ExifInterface和使用contentresolver都不能解决我的问题:

Why does an image captured using camera intent gets rotated on some devices on Android?

对于某些设备中的ExifInterface,它总是返回ExifInterface.undefined (零)。至于内容解析器,当我查询方向时,我也得到了零,这有时也是不正确的。

我在这里特别使用了user2832184 answer:

How can i find the orientation of a picture taken with Intent MediaStore.ACTION_IMAGE_CAPTURE?

是否有其他建议的解决方案?

我需要本地相机应用程序的完整功能,所以我不能切换到相机api和从头开始构建一切。

我也不介意使用第三方解决方案来解决这个问题。

EN

回答 3

Stack Overflow用户

发布于 2016-05-17 23:57:12

如果图像缺少方向标头,您对此无能为力。某些设备(例如HTC )固件混乱,无法在M7中编码方向标头。但是,其他设备将对图像进行正确的编码,并且图像恰好处于正确的方向,因此不需要标题。除了通过给您带来麻烦的设备的硬编码列表之外,没有什么好的方法可以通过编程来区分这些情况。

即使对于那些硬编码的设备,您也有一个问题:从技术上讲,您不知道正确的方向是什么。用户可能已经从您的应用程序进入相机应用程序,旋转设备,拍摄照片,将设备旋转回其原始方向,然后才返回到您的应用程序。

您的选择是:

  1. 会忽略该问题,但允许用户手动请求您旋转图像。
  2. 具有出现问题的设备的硬编码列表,并在适当的时间点向用户发出有关该问题的警告。
  3. 具有出现问题的设备的硬编码列表,如果用户在其中一个设备上拍摄照片,则假定控制返回给您时设备的方向是用户拍摄照片时设备的方向。然后,根据需要旋转图像。

这些都不是完美的解决方案。

票数 2
EN

Stack Overflow用户

发布于 2018-03-13 23:15:56

(获取EXIF方向属性并相应地旋转图像)

票数 0
EN

Stack Overflow用户

发布于 2020-06-04 02:24:21

您可以使用Glide库:

代码语言:javascript
复制
Glide.with(this).load(image_uri).into(productIconIv);

其中image_uri是您的图像URI,productIconIv是一个ImageView

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37280213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档