Android编程中调用Camera时预览画面有旋转问题的解决方法
本文实例讲述了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时预览画面有旋转问题的解决方法相关推荐
- qq登录无法连接服务器未响应,Windows7系统中登录QQ时提示腾讯qq未响应的解决方法...
最近有用户在登录QQ的时候非常的卡,经常出现未响应的情况,还会突然弹出"腾讯qq未响应"的提示窗口,那么在遇到这样的情况时我们怎么来处理呢?一起来看看吧! 具体方法如下: 1.登录 ...
- Android 实现相机(Camera)预览
CameraX 是一个 Jetpack 库,旨在帮助您更轻松地开发相机应用. 对于新应用,我们建议从 CameraX 开始.它提供一致且易于使用的 API,适用于绝大多数 Android 设备,并向后 ...
- 【ubuntu】vim中鼠标选中时变成 可视模式,不能复制的解决方法
1.问题描述 配置好vim后,打开一个文件,鼠标选中文本时,选中的内容变成可视模式. 可视模式,不能将选中内容复制到剪切板 2.解决方法 在用户根目录下,打开 .vimrc ~$ vi .vimrc ...
- Flink编程中遇到”scala.tools.reflect.ToolBoxError: reflective compilation has failed“的解决方法
Flink编程中遇到"scala.tools.reflect.ToolBoxError: reflective compilation has failed: cannot initiali ...
- android 相机故障 代码 解决,android – 如何在调用Camera时解决ANR错误?
我在主菜单中有两个按钮.我按下第一个按钮时调用相机.在这里,我没有遇到任何问题.相机正常工作.拍完照片后,我回到主菜单,再次按下第一个按钮.我在这里得到了这个问题.相机正确调用.但是当我拍照时,我得到 ...
- android 项目中 Unparsed aapt error(s)! Check the console for output错误解决方法(转)
在Eclipse平台进行Android 应用开发时,编辑,修改或增删 res/下资源文件时有时会遇到如下错误提示:"Unparsed aapt error(s)! Check the con ...
- HBuilder X右端预览点击无反应(解决方法)
可能是因为把压缩包解压到了c盘以外.本人亲测桌面解压运行顺利,放到别的盘里就不行. 原因可能跟解决打不开内置浏览器的问题(提示:[WARNING:] error : "无法加载库 ...
- Android开发实践:掌握Camera的预览方向和拍照方向
Android的Camera相关应用开发中,有一个必须搞清楚的知识点,就是Camera的预览方向和拍照方向,本文就重点讨论一下这个问题. 图像的Sensor方向:手机Camera的图像数据都是来自于摄 ...
- Android屏幕计算正方形,Android Camera 正方形预览(二)
一.概述 为实现Camera正方形预览,本Demo使用GLSurfaceView显示Camera预览数据,本文也主要针对GLSurfaceView的使用做介绍. Android中的视图有View.Su ...
最新文章
- 如何使用 Cockpit 管理你的树莓派
- 微软亲手盖上IE棺材板:明年6月停用,慢且不安全,还因垄断被罚款170亿
- Struts2 + uploadify 多文件上传完整的例子!
- php+摩尔斯电码,PHP摩尔斯电码转换器
- 金融云 > 产品常见问题 > 金融云VPC端口限制
- Centos php5.3.3 升级 5.5.26 mysql5.1.73 升级 5.6.25
- 初识HTML5(一)
- CSS让图片垂直居中的几种技巧
- Symbian操作系统
- 虚拟板式混响插件:Fuse Audio Labs VREV-140 Mac
- 论文阅读:Reasoning about Object Affordances in a Knowledge Base Representation
- 最热网友收藏:深入理解C语言指针的奥秘((2007年第3周)
- 计算机一级重点复习提纲,计算机一级B考试复习提纲是什么?
- 【JavaSE】之注解与反射
- JavaScript中minio的使用
- 数据库系统-关系模式
- Linux设置环境变量
- iOS 增量代码覆盖率检测实践
- 【洛谷】P1462 通往奥格瑞玛的道路
- 实用教程 | 如何查看微信朋友圈访客