android中Camera setDisplayOrientation使用
来源:互联网 发布:高夫怎么样 知乎 编辑:程序博客网 时间:2024/05/25 23:58
http://blog.csdn.net/fengye810130/article/details/11614427
在写相机相关应用的时候遇到捕获的画面方向和手机的方向不一致的问题,比如手机是竖着拿的,但是画面是横的,这是由于摄像头默认捕获的画面byte[]是根据横向来的,而你的应用是竖向的,解决办法是调用setDisplayOrientation来设置PreviewDisplay的方向,效果就是将捕获的画面旋转多少度显示。
设置 preview 的顺时针旋转角度。这将影响 preview frames和拍照之后的相片显示。该方法主要用于垂直模式的应用。注意在旋转之前, front-facing cameras 的 preview显示是水平 flip 的,这就是说, image 是沿着 camera sensor 的垂直中心轴来反射的。所以用户可以像照镜子一样看到他们自己。这不会影响传入函数 onPreviewFrame(byte[], Camera) 的、JPEG 相片的、或记录的 video 的 byte array 的顺序,你可以自己做旋转处理。在preview 期间是不允许调用该方法的。如果你想要是你的照片和显示出来的角度一致,你可以参考下列代码:- public static void setCameraDisplayOrientation (Activity activity, int cameraId, android.hardware.Camera camera) {
- android.hardware.Camera.CameraInfo info = new android.hardware.Camera.CameraInfo();
- android.hardware.Camera.getCameraInfo (cameraId , info);
- int rotation = activity.getWindowManager ().getDefaultDisplay ().getRotation ();
- int degrees = 0;
- switch (rotation) {
- case Surface.ROTATION_0:
- degrees = 0;
- break;
- case Surface.ROTATION_90:
- degrees = 90;
- break;
- case Surface.ROTATION_180:
- degrees = 180;
- break;
- case Surface.ROTATION_270:
- degrees = 270;
- break;
- }
- int result;
- if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
- result = (info.orientation + degrees) % 360;
- result = (360 - result) % 360; // compensate the mirror
- } else {
- // back-facing
- result = ( info.orientation - degrees + 360) % 360;
- }
- camera.setDisplayOrientation (result);
- }
0 0
- android中Camera setDisplayOrientation使用
- android中Camera setDisplayOrientation使用
- android中Camera setDisplayOrientation使用
- android中Camera setDisplayOrientation使用
- android中Camera setDisplayOrientation使用
- 解决Android中相机Camera在2.1以下设置setDisplayOrientation()时报java.lang.NoSuchMethodException的问题
- Camera.parames.setDisplayOrientation问题解决
- Android中使用Camera
- android mCameraInfo.orientation、setDisplayOrientation
- Android 中使用Camera照相
- Android中Camera架构
- Android Camera 使用小结
- Android Camera 使用小结
- Android Camera 使用小结
- Android Camera 使用小结
- Android Camera 使用小结
- Android Camera使用小结
- Android Camera 使用小结
- iOS中经常会问到的面试题
- linux source命令
- 明升,在线进行150多种小游戏
- 程序员面试知识点
- 尼葛洛庞帝,一个反硅谷的创业领袖
- android中Camera setDisplayOrientation使用
- Centrex业务-呼叫拦截
- parseInt("0377")为何没有按照书中被解析为8进制数值?
- 急速天劫 Non-Stop (2014)
- 个人学习资料共享
- Centrex业务-呼叫代答
- linux c 网络编程学习
- CF Round #254 (Div. 2) E
- 前端开发中Cookie那些事儿[转]