我正在开发一个使用 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 屏幕尺寸)。
那么它们有什么区别呢?请帮助我!
最佳答案
手机上的摄像头传统上是为设备的横向设计的。当设备以纵向放置时,我们使用 90° 旋转来正确显示相机框架。
详细解释如下: https://developer.android.com/training/camera/cameradirect.html#TaskOrientation
关于android - 为什么 camera2 支持的预览尺寸宽度总是大于高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49684999/