我正在开发一个使用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屏幕尺寸)。
那么他们之间有什么不同?请帮帮我!
答案 0 :(得分:1)
手机上的摄像头传统上是为了横向设备而设计的。当设备以纵向方向握持时,我们使用90°旋转来正确显示相机框架。
以下是详细说明: https://developer.android.com/training/camera/cameradirect.html#TaskOrientation