摄像头Camera图像显示倾斜调整

在应用开发过程中,Camera成像有的手机平板出现卧倒(成90度)的情况,可能后置是正常的,而前置就出现卧倒。针对这样仔细查找了一些资料,最终得出,最后还是在SDK中找到了setDisplayOrientation()这个方法,主要是根据摄像头的自身信息与设备的翻转得到相应的翻转角度。在加上摄像头的参数设置中加上后,在各种卧倒的设备上也显示正常了,在这分享给大家。

 // make the camera image show in the same orientation as the display
 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);
 }

转载于:https://www.cnblogs.com/mayola/archive/2012/06/14/2548800.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值