当前位置: 首页 > 知识库问答 >
问题:

在纵向模式下从相机拍摄的加载到画布上的照片是横向的

卫昊东
2023-03-14

如果我用我的相机在android的肖像模式下拍摄一张照片,然后将其加载为位图并将其绘制到画布上,它看起来会逆时针旋转90度并以横向方向旋转。我使用位图工厂。解码文件(imagePath) 以加载图像。有人知道为什么会这样吗?


共有1个答案

董高逸
2023-03-14

请看在Android的答案:照片力捕获在风景模式

底线是,捕捉保留了硬件相机方向,这是大多数电话中的风景。您很少有方法可以找到拍摄图片时设备与地平线的实际方向,例如JPEG文件的EXIF头。解码此类文件的位图方法不尊重EXIF信息,即使它存在。但是您可以选择其中一种方法在位图加载后对其应用旋转。

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

 类似资料:
  • 我一直在开发一个摄像头应用程序,所有的工作都是拍摄和保存照片。但我希望在拍摄照片时显示的Imageview能够保存在实际拍摄的照片中。可能吗? 现在,我一直试图让图像视图与我绘制相机预览的布局相同。 我想,也许如果它画在与相机相同的视图上,那么它也会看到图像和照片。 有没有人知道这是否可能,或者我必须采取另一种方法?如果是这样,链接到其他解决方案如何做到这一点将不胜感激:) 谢谢 编辑:我一直遵循

  • 我试图控制Android相机在肖像应用程序中拍照,但是当我保存照片时,它是在风景中。我已经旋转图像90级与方法,但不工作。 然后我找到了这篇文章,但是是(未定义)。如果我抓住这个值并应用旋转值,也不起作用。 我如何在肖像中拍摄照片,并以良好的方向保存它?

  • 我正在用相机显示预览。应用程序始终处于纵向模式(禁用横向模式)。相机预览总是逆时针旋转90度,我无法更改它(无论是使用setDisplayOrientation还是使用p.set(“方向”,“肖像”)和p.set(“旋转”,90))。 预览总是这样旋转还是依赖于设备?如果在纵向模式下总是这样,我可以在之后旋转图像。 我将手机保持在“纵向模式”,但cameraPreview处于横向模式(即,我看到某

  • 我正在关注w3c学校关于制作幻灯片网页的教程。 对我来说,唯一不同的要求是,我有相同垂直分辨率的横向和纵向图像(1280x720和420x720)。 当我加载肖像图像时,它们的比例会大得多,因为图像仅受最大宽度的限制。实际上,我希望边界是垂直最大高度,所以当我循环通过它们时,高度是恒定的。 问题是,当我在上指定“最大高度”并删除“最大宽度”时。幻灯片容器,然后将图像左对齐放置在页面上。所以看起来我

  • 可使用前端相机或背面相机拍摄照片。 A ) (显示模式) 轻触图标可切换为显示模式。 B ) (位置数据)/(切换相机)/(切换图像大小) 启用位置数据的使用设定即可显示(位置数据)。轻触图标可使用Wi-Fi、GPS*、手机基地台*的信息取得位置数据。取得后会显示(已取得位置数据),拍摄照片时会同时记录位置数据。 * 仅限3G/Wi-Fi机种 C ) (快门) 轻触图标可拍摄照片。 D ) 已拍摄

  • 问题内容: 我已经在此问题上停留了一段时间,并查看了各种教程以寻求帮助,但尚未成功。 我实质上已经在我的 应用程序中 利用了该功能来 拍照 并显示它, 但是 它无法保存拍照。 这是包含我试图使其根据教程发挥作用的代码: 我已经在文件中包含了所有必要的内容。 问题答案: File imagesFolder = new File(Environment.getExternalStorageDirect