我已经实现了一个摄像头应用程序,它将在设备的整个屏幕上显示预览。但是我的要求是在小屏幕上显示“摄像机”预览。我的设备分辨率为800x480(WxH),即Nexus 1。我可以在不缩小预览的情况下在整个屏幕上显示预览。它的效果非常好,但是当我尝试在小屏幕上显示预览(我的总移动屏幕的一部分)时,预览会变长并且看起来不太好。

有什么方法可以在小屏幕上正确显示预览。我认为我们需要按比例缩小图像预览。但是,当我尝试按比例缩小图像预览时,Android系统本身不允许设置按比例缩放的预览大小。

谁能帮助我如何在小屏幕上缩放图像预览。

最佳答案

在经历了大约一个星期的相同问题后,我终于可以通过程序预览调整相机的大小了! :-D
preview是我的SurfaceView的名称,在此代码中,我对其进行了设置,以便将其大小调整为其所在的RelativeLayout宽度的一半。

ViewGroup.LayoutParams params = preview.getLayoutParams();
RelativeLayout myRelLayout = (RelativeLayout) findViewById(R.id.myRelLayout);
params.width = (int) (myRelLayout.getWidth()/2);
preview.setLayoutParams(params);

现在供您使用,您将需要查看预览的分辨率,然后根据该分辨率相应地缩小高度或宽度。

关于android - 调整相机预览的大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5499255/

10-15 05:49