首页 > 解决方案 > 为 CameraX 设置目标分辨率不像文档中那样工作

问题描述

我想1200x1600使用 CameraX 库以固定分辨率(即)拍摄照片。

因此,根据文档,我可以设置目标分辨率ImageCaptureConfig

val imageCaptureConfig = ImageCaptureConfig.Builder()
    .setLensFacing(CameraX.LensFacing.BACK)
    .setCaptureMode(ImageCapture.CaptureMode.MAX_QUALITY)
    .setTargetResolution(Size(1200, 1600))
    .setTargetAspectRatio(Rational(3,4))
    .build()

文档描述setTargetResolution方法如下:

设置预期的输出目标分辨率。

目标分辨率试图建立图像分辨率的最小界限。实际图像分辨率将是不小于目标分辨率的最接近的可用分辨率,由相机实现确定。但是,如果不存在等于或大于目标分辨率的分辨率,则将选择小于目标分辨率的最接近的可用分辨率。

如果我错了,请纠正我,但如果设备能够拍摄大于1200x1600(例如3024x4032)的照片,则输出照片将至少为1200x1600.

不幸的是,在许多设备(例如Huawei P20 ProSamsung A5中,输出照片明显小于1200x1600例如480x640。请注意,这些设备能够拍摄非常大的照片。

是我的ImageCaptureConfig配置错误还是这是一个错误?

标签: androidandroid-jetpackandroid-camerax

解决方案



推荐阅读