【问题标题】:Why camera2 supported preview size width always bigger than height?为什么 camera2 支持的预览尺寸宽度总是大于高度?
【发布时间】:2018-04-06 03:50:41
【问题描述】:

我正在开发一个使用 camera2 API 的项目。当我使用以下命令获取支持的输出预览大小列表时:

StreamConfigurationMap map = characteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);
Size[] choices = map.getOutputSizes(SurfaceTexture.class);

输出尺寸列表总是返回具有宽度>高度的值,尽管屏幕的宽度

当我使用getResources().getDisplayMetrics()(或任何类似方法)检查​​宽度/高度时,它总是返回宽度

根据我看到的值,在 2 种情况下,宽度/高度可能会交换它们的值。 (w:1920,h:1080 预览尺寸。w:1080,h:1920 屏幕尺寸)。

那么它们之间有什么不同呢?请帮帮我!

【问题讨论】:

  • 因为标准照片应该是横向的,而不是纵向的。
  • @VladyslavMatviienko 所以我应该做的只是交换宽度和高度?顺便说一句,你有这方面的任何文件吗?请给我一个链接。
  • 我认为没有一个文档。我认为这是在相机模块硬件级别。所以每个摄像头模块都有自己的文档。但我认为考虑宽度大于高度是完全安全的。无论如何,您应该通过其他方式确定照片旋转。例如通过 G 传感器或当前显示方向。

标签: android android-camera2 android-screen


【解决方案1】:

手机上的摄像头传统上是为设备横向放置而设计的。当设备以纵向放置时,我们使用 90° 的旋转来正确显示相机帧。

下面是详细解释: https://developer.android.com/training/camera/cameradirect.html#TaskOrientation

【讨论】:

  • 你有这方面的文件吗?请给我一个链接。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-02
  • 1970-01-01
  • 2018-11-08
  • 1970-01-01
  • 2021-06-24
  • 2013-05-22
相关资源
最近更新 更多