本文实例讲述了Android编程中调用Camera时预览画面有旋转问题的解决方法。分享给大家供大家参考,具体如下:

在调用Camera写应用的时候,前后摄像头的情况有时候是不一样的。有时候,明明后摄像头没有问题,而调用到前摄像头时,却倒转了180°,或者其他角度,百思不得其解。在查看了Android源码之后,发现它的解决办法很是好,接下来贴个源码,以备日后查看。

public static int getDisplayRotation(Activity activity) {int rotation = activity.getWindowManager().getDefaultDisplay().getRotation();switch (rotation) {case Surface.ROTATION_0: return 0;case Surface.ROTATION_90: return 90;case Surface.ROTATION_180: return 180;case Surface.ROTATION_270: return 270;}return 0;
}
public static void setCameraDisplayOrientation(Activity activity,int cameraId, Camera camera) {// See android.hardware.Camera.setCameraDisplayOrientation for// documentation.Camera.CameraInfo info = new Camera.CameraInfo();Camera.getCameraInfo(cameraId, info);int degrees = getDisplayRotation(activity);int result;if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {result = (info.orientation + degrees) % 360;result = (360 - result) % 360; // compensate the mirror} else { // back-facingresult = (info.orientation - degrees + 360) % 360;}camera.setDisplayOrientation(result);
}

在调用Camera的时候只要调用setCameraDisplayOrientation这个方法就可以了。

Android编程中调用Camera时预览画面有旋转问题的解决方法相关推荐

  1. qq登录无法连接服务器未响应,Windows7系统中登录QQ时提示腾讯qq未响应的解决方法...

    最近有用户在登录QQ的时候非常的卡,经常出现未响应的情况,还会突然弹出"腾讯qq未响应"的提示窗口,那么在遇到这样的情况时我们怎么来处理呢?一起来看看吧! 具体方法如下: 1.登录 ...

  2. Android 实现相机(Camera)预览

    CameraX 是一个 Jetpack 库,旨在帮助您更轻松地开发相机应用. 对于新应用,我们建议从 CameraX 开始.它提供一致且易于使用的 API,适用于绝大多数 Android 设备,并向后 ...

  3. 【ubuntu】vim中鼠标选中时变成 可视模式,不能复制的解决方法

    1.问题描述 配置好vim后,打开一个文件,鼠标选中文本时,选中的内容变成可视模式. 可视模式,不能将选中内容复制到剪切板 2.解决方法 在用户根目录下,打开 .vimrc ~$ vi .vimrc ...

  4. Flink编程中遇到”scala.tools.reflect.ToolBoxError: reflective compilation has failed“的解决方法

    Flink编程中遇到"scala.tools.reflect.ToolBoxError: reflective compilation has failed: cannot initiali ...

  5. android 相机故障 代码 解决,android – 如何在调用Camera时解决ANR错误?

    我在主菜单中有两个按钮.我按下第一个按钮时调用相机.在这里,我没有遇到任何问题.相机正常工作.拍完照片后,我回到主菜单,再次按下第一个按钮.我在这里得到了这个问题.相机正确调用.但是当我拍照时,我得到 ...

  6. android 项目中 Unparsed aapt error(s)! Check the console for output错误解决方法(转)

    在Eclipse平台进行Android 应用开发时,编辑,修改或增删 res/下资源文件时有时会遇到如下错误提示:"Unparsed aapt error(s)! Check the con ...

  7. HBuilder X右端预览点击无反应(解决方法)

    可能是因为把压缩包解压到了c盘以外.本人亲测桌面解压运行顺利,放到别的盘里就不行. 原因可能跟​​​​​​解决打不开内置浏览器的问题(提示:[WARNING:] error : "无法加载库 ...

  8. Android开发实践:掌握Camera的预览方向和拍照方向

    Android的Camera相关应用开发中,有一个必须搞清楚的知识点,就是Camera的预览方向和拍照方向,本文就重点讨论一下这个问题. 图像的Sensor方向:手机Camera的图像数据都是来自于摄 ...

  9. Android屏幕计算正方形,Android Camera 正方形预览(二)

    一.概述 为实现Camera正方形预览,本Demo使用GLSurfaceView显示Camera预览数据,本文也主要针对GLSurfaceView的使用做介绍. Android中的视图有View.Su ...

最新文章

  1. 如何使用 Cockpit 管理你的树莓派
  2. 微软亲手盖上IE棺材板:明年6月停用,慢且不安全,还因垄断被罚款170亿
  3. Struts2 + uploadify 多文件上传完整的例子!
  4. php+摩尔斯电码,PHP摩尔斯电码转换器
  5. 金融云 > 产品常见问题 > 金融云VPC端口限制
  6. Centos php5.3.3 升级 5.5.26 mysql5.1.73 升级 5.6.25
  7. 初识HTML5(一)
  8. CSS让图片垂直居中的几种技巧
  9. Symbian操作系统
  10. 虚拟板式混响插件:Fuse Audio Labs VREV-140 Mac
  11. 论文阅读:Reasoning about Object Affordances in a Knowledge Base Representation
  12. 最热网友收藏:深入理解C语言指针的奥秘((2007年第3周)
  13. 计算机一级重点复习提纲,计算机一级B考试复习提纲是什么?
  14. 【JavaSE】之注解与反射
  15. JavaScript中minio的使用
  16. 数据库系统-关系模式
  17. Linux设置环境变量
  18. iOS 增量代码覆盖率检测实践
  19. 【洛谷】P1462 通往奥格瑞玛的道路
  20. 实用教程 | 如何查看微信朋友圈访客

热门文章

  1. codeblocks中的输出double数据乱码问题
  2. java中字符串判断相等能用不等号吗
  3. C++多态案例--电脑组装
  4. Optional使用(终于明白版)
  5. 4. 51 测量空气的温度和湿度(51单片机 + DHT11温湿度 + LCD1602显示)
  6. PageRank算法(网页排名算法)初步理解
  7. 海量用户积分排名算法探讨
  8. java批量生成周末
  9. 学习java随堂练习-20220602
  10. Vue mixins 和 extends 使用详解