我正在android中使用相机构建一个应用程序。我已经构建了自己的相机,但问题是,一旦我以这种方式打开相机:
public void surfaceCreated(SurfaceHolder holder) {
Log.e(TAG, "surfaceCreated");
mCamera = Camera.open();
}
当手机处于portrait
模式时,我的预览和拍摄的照片都旋转了90度,当手机处于横向模式时,一切看起来都很棒。有谁知道如何解决这个问题。
谢谢!
答案 0 :(得分:1)
这类问题有一个公认的答案。您可能想要查看this。
答案 1 :(得分:0)
setRotation(int rotation)是你的朋友。
编辑:
您是否在文档中看到了参考代码:
public void public void onOrientationChanged(int orientation) {
if (orientation == ORIENTATION_UNKNOWN) return;
android.hardware.Camera.CameraInfo info =
new android.hardware.Camera.CameraInfo();
android.hardware.Camera.getCameraInfo(cameraId, info);
orientation = (orientation + 45) / 90 * 90;
int rotation = 0;
if (info.facing == CameraInfo.CAMERA_FACING_FRONT) {
rotation = (info.orientation - orientation + 360) % 360;
} else { // back-facing camera
rotation = (info.orientation + orientation) % 360;
}
mParameters.setRotation(rotation);
}