【问题标题】:Android Front-Facing Camera Preview SizeAndroid 前置摄像头预览尺寸
【发布时间】:2012-12-17 22:11:36
【问题描述】:

我正在开发一个使用设备上的前置摄像头的应用程序。我试图通过获取支持的预览尺寸列表并循环浏览它们来寻找一个非常接近的预览尺寸。我为此编写的方法与操作系统自己的相机应用程序中的方法基本相同。该方法效果很好,正是我想要的,这不是我在这里的原因。

我的相机预览在某些设备上看起来明显偏斜时遇到了问题;压缩或拉伸图像的预览。我不知道为什么会这样,所以我逐步浏览了它,查看了我的前置摄像头可用的所有支持的预览尺寸,发现只有 2 个,而且它们都不是可用的正确方面.我的 SurfaceHolder.Callback 类中的“surfaceChanged”方法报告前置摄像头的宽度和高度为 762x480,但两个支持的预览尺寸(通过 cam.getParameters().getSupportedPreviewSizes() 获得)都在对面:480x800、320x640。

有了这些作为唯一选项,我似乎无法预览没有倾斜的前置摄像头。我知道在 2.3 或更低版本中,可以将任意值用于宽度和高度,而无需考虑支持的尺寸,但我正在努力使我的应用程序也适用于较新版本的操作系统。如何使预览看起来正确?

【问题讨论】:

    标签: android android-camera


    【解决方案1】:

    我最初的问题在技术上仍未解决(我仍然认为这是不可能的),但我确实找到了实现无偏差预览的技巧。

    鉴于与我设备的屏幕相比,支持的预览尺寸都处于不正确的方向,看起来确实不可能有一个正常的预览填满整个屏幕。在查看了几个本机相机应用程序之后不同的设备(所有这些设备都显示正面预览,完全没有倾斜)整个屏幕,就像我在我的应用程序中尝试做的那样。

    我重新设计了我的应用程序以获取与设备屏幕最接近的宽度和高度的大小,但在任一维度或纵横比上都没有超出,然后手动设置 SurfaceView 的高度和宽度以匹配所选大小.确实,现在某些设备上的预览周围有少量黑色空间,但它看起来肯定比歪斜的要好得多。无论如何,我在面板的一侧有一个带有用于拍摄照片和操作闪光灯设置等按钮的面板,所以它确实没有人们想象的那么引人注目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-17
      • 1970-01-01
      • 1970-01-01
      • 2015-11-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多