首页 > 解决方案 > Android Camera2 输出分辨率与请求的分辨率不匹配

问题描述

我正在尝试通过 Camera2 API 捕获静止图像。当我通过图像阅读器请求图像分辨率时,例如

imageReader = ImageReader.newInstance(1920, 1440, ImageFormat.JPEG, 2)

我收到了一张 1024x768 的图片。尽管 1920x1440 实际上列在支持的输出尺寸中,而 1024x768 却没有!

val staticImageSizes: Array<Size> = it.getOutputSizes(ImageFormat.JPEG)

如果我请求 1024x768 图像,我将返回 1024x576 图像!它必须支持 1024x768,因为它之前返回了该分辨率的图像,为什么它甚至没有返回正确纵横比的图像?输出分辨率似乎是随机的,与“支持的”输出大小不对应。它可以在较低的分辨率下正常工作,即 320x240、640x480。我基本上希望能够从具有 3:4 纵横比的受支持输出中指定一个分辨率,并实际得到一个与之匹配的图像。

谢谢

标签: androidandroid-camera2

解决方案


推荐阅读