安卓相机在横向模式下拉伸

乔伊·鲁辛(Joey Roosing):

我正在编写的应用程序需要相机功能。因此,要了解如何操作相机,请遵循以下脚本:

http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/CameraPreview.html

我已将活动放置在清单中,并在横向模式下为其设置了屏幕方向。

我遇到的问题是,将相机侧面握住(以便将Galaxy Tab P1000保持在横向位置)时,视图会拉长。

为了更具体地说明我的脚本,我使用了Google编写的代码的精确副本。可以在android-sdk \ samples \ android-8 \ ApiDemos \ src \ com \ example \ android \ apis \ graphics \中找到

该文件本身称为CameraPreview。

我真的不知道为什么屏幕看起来如此拉伸。当然,格式很奇怪,而且不是正方形,但是,即使使用设备上安装的默认相机应用程序,它也不会变形。当我侧向握持相机时,相机会使图像变形,甚至移动相机一点。

在此处输入图片说明

在此处输入图片说明

我所做的是:我拿着银河标签来拍摄一个物体(在这种情况下是笔记本电脑)的图片,然后用我的银河手机拍照。在Galaxy上,我正在制作的应用程序中打开了相机屏幕。这对于两个图像都重要。我一个握住侧面,另一个我握住肖像。图片有点不清楚,但是您可以看到在风景图片中,相机变得非常宽。

主 :

昨天我遇到了同样的问题。在研究“相机”资源之后,我发现相机预览被拉伸的原因。

原因是:SurfaceView纵横比(宽度/高度)必须与预览参数中使用的Camera.Size纵横比相同。如果宽高比不相同,则图像将被拉伸。

因此,最快的解决方法是将SurfaceView设置为320px x 240px的大小-Parameters.getSupportedPreviewSizes()支持的最小大小。

另外,您可以查看Camera标准应用程序源,它使用自定义布局来控制SurfaceView大小(请参见PreviewFrameLayout.java,onMeasure()函数)。

git clone https://android.googlesource.com/platform/packages/apps/Camera.git

获取相机资源。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章