如何解决android.hardware.camera返回的不同预览/图片大小?

时间:2013-08-10 17:39:18

标签: android android-camera

所以我一直在玩Android相机库并在surfaceview中使用它。我发现无法捕捉与预览相匹配的图片。实际上,必须始终检查预览和图片大小并设置相机参数以获得最佳匹配。此外,您不能将相机设置为具有相同的尺寸,因为如果相机不支持它们,应用程序将会崩溃。

这怎么可能?真的没有其他解决方案吗?我的意思是Instagram似乎使用它(它没有启动手机的相机应用程序),似乎总是完美匹配。

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:2)

最简单,最实用的方法是将预览视为仅仅是反馈机制,并将程序逻辑集中在获得最佳和期望的图像捕获质量上。

将两者混合起来几乎没有新意。

此外,期望的图像捕获质量可取决于不同的因素/选项。基于捕获后处理时间,存储约束,上传约束等;最好的图像可能不是最常用的图像。

实施方面,相机应用程序遵循以下常见做法:

  1. 使用Camera.getParameters()。getSupportedPictureSizes()获取完整列表。
  2. 根据约束决定最佳匹配。
  3. 某些应用实现了设备特定的最佳拟合逻辑。大多数情况下,流行的设备都会成为目标。