android - 如何解决 android.hardware.camera 返回的 Preview/Picture 尺寸不同?

标签 android android-camera

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

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

有什么想法吗?谢谢!

最佳答案

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

将两者混合在一起没什么新鲜事。

此外,所需的图像捕获质量可能取决于不同的因素/选项。基于捕获后处理时间、存储限制、上传限制等;质量最好的图像可能并不总是您想要的图像。

在实现方面,相机应用遵循以下一些常见做法:

  1. 使用 Camera.getParameters().getSupportedPictureSizes() 获取完整列表。
  2. 根据限制条件确定最合适的。
  3. 某些应用会实现特定于设备的最佳匹配逻辑。大多数情况下,流行的设备成为目标。

关于android - 如何解决 android.hardware.camera 返回的 Preview/Picture 尺寸不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18164634/

相关文章:

android - 处理程序 postDelayed 和 Thread.sleep()

Android 相机设置缩放和性能

android - 在 AutoFocusCallback 中调用 takePicture 导致错误 100

java - Camera2BasicFragment - 修改以切换前置/后置摄像头时出现问题

java - 如何从 JSON 对象的结果填充 ListView?

android - 如何隐藏通知栏,但允许从顶部拖动?

c++ - Android NDK GLES 2.0 无绘图

android - 从android中的画廊和相机捕获图像

android - 从前置摄像头捕获图像后如何去除镜面效果? [安卓]

java - WebView - 如果存在后退历史记录,则仅显示后退按钮