我一直想在我的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倍的图像?
你提出的缓解看起来是合理的。4:3提供对我见过的所有设备的高品质。你总是可以覆盖预览一些非透明的观点提供方预览的外观和感觉。
有GitHub上的一个例子,你可以如何使用MediaCodec与裁剪帧以产生平方视频。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句