我一直在尝试在我的android应用程序中使用CameraX,并希望预览和输出图像均为高质量的1:1长宽比图像。 我尝试了以下代码来设置图像和预览配置
PreviewConfig previewConfig = new PreviewConfig.Builder()
.setTargetAspectRatio(new Rational(1, 1))
.build();
-
ImageCaptureConfig imageCaptureConfig = new ImageCaptureConfig.Builder()
.setTargetAspectRatio(new Rational(1, 1))
.setCaptureMode(ImageCapture.CaptureMode.MIN_LATENCY)
.build();
根据开发人员指南,此代码将选择硬件在该纵横比下可以提供的最佳分辨率。 尽管这在某些设备上效果很好,但在某些设备上,输出图像分辨率低至280X280像素。 似乎不是该设备上硬件的有效纵横比。
作为解决方法,我可以尝试什么? 我想到的是,我认为每台设备都支持4:3的宽高比。
我可以裁剪输出图像,但是预览如何。我们可以裁剪textureview吗?
还是可以在取景器顶部放置一个简单的黑色矩形视图,看起来像是1:1图像?
答案 0 :(得分:2)
您not the only one在抱怨。 {@ 3}}是1:1的支持。
您建议的缓解措施看起来很合理。 4:3在我见过的所有设备上提供高质量。您始终可以在预览中覆盖一些非透明视图,以提供方形预览的外观。
在GitHub上有一个示例still not very good。