//对摄像头进行矫正,使视图正常
public static void setCameraDisplayOrientation(Activityactivity,
int cameraId, android.hardware.Cameracamera) {
android.hardware.Camera.CameraInfoinfo=
newandroid.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);//显示翻转result度
}
在使用时,只需要传入