我知道这个问题已经存在,但没有解决。我采取了一些帮助,并找出了我需要根据显示改变相机的基本代码。Android中的显示不能改变摄像头方向?
cameraInfo=new Camera.CameraInfo();
camera.getCameraInfo(camId,cameraInfo);
int angle=0;
int rotation = getActivity().getWindowManager().getDefaultDisplay()
.getRotation();
switch(rotation)
{
case Surface.ROTATION_0:
parameters.setPreviewSize(s.width, s.height);
Log.i(TAGR, "THE ROATTION IS 0");
camera.setDisplayOrientation(90);
break;
case Surface.ROTATION_90:
parameters.setPreviewSize(s.width, s.height);
Log.i(TAGR, "THE ROATTION IS 90");
camera.setDisplayOrientation(0);
break;
case Surface.ROTATION_180:
parameters.setPreviewSize(s.width, s.height);
Log.i(TAGR, "THE ROATTION IS 180");
camera.setDisplayOrientation(0);
break;
case Surface.ROTATION_270:
parameters.setPreviewSize(s.width, s.height);
Log.i(TAGR, "THE ROATTION IS 270");
camera.setDisplayOrientation(180);
break;
default:
camera.setDisplayOrientation(0);
break;
}
}
但是,我无法获得有关设备旋转的正确显示预览。我尝试了几种不同的角度组合。但是,没有人给我正确的输出。我附上我的预览图像。请解释问题的解决方案。此外,我想知道我的设备的位置对应角度0,90,180和270.换句话说,0对应于纵向还是横向?
图片: 在这一个景观是倒置的。我试着在ROTATION_180时将旋转设置为180。这样做并没有解决,因为其他方向(在风景中)变成了倒立
颠倒的方向没有做任何事情。所需的结果是使用正确的预览按下按钮。我不知道为什么这不起作用。我在每次轮换中尝试了几个值,但没有解决这个问题。
我是初学者,所以请详细解释。谢谢。
但是,为什么你用这个?用于显示照片? –
这是倒置的相机预览。在我的应用程序中,我有一个照相机按钮来设置照片。所以,问题在于预览。 –
试试ExifInterface。 –