【发布时间】: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