【发布时间】:2012-12-17 22:11:36
【问题描述】:
我正在开发一个使用设备上的前置摄像头的应用程序。我试图通过获取支持的预览尺寸列表并循环浏览它们来寻找一个非常接近的预览尺寸。我为此编写的方法与操作系统自己的相机应用程序中的方法基本相同。该方法效果很好,正是我想要的,这不是我在这里的原因。
我的相机预览在某些设备上看起来明显偏斜时遇到了问题;压缩或拉伸图像的预览。我不知道为什么会这样,所以我逐步浏览了它,查看了我的前置摄像头可用的所有支持的预览尺寸,发现只有 2 个,而且它们都不是可用的正确方面.我的 SurfaceHolder.Callback 类中的“surfaceChanged”方法报告前置摄像头的宽度和高度为 762x480,但两个支持的预览尺寸(通过 cam.getParameters().getSupportedPreviewSizes() 获得)都在对面:480x800、320x640。
有了这些作为唯一选项,我似乎无法预览没有倾斜的前置摄像头。我知道在 2.3 或更低版本中,可以将任意值用于宽度和高度,而无需考虑支持的尺寸,但我正在努力使我的应用程序也适用于较新版本的操作系统。如何使预览看起来正确?
【问题讨论】: