Android Camera 2,如何裁剪预览尺寸

Sol*_*hid 5 android preview android-camera2

我最近正在使用Camera 2 API,我的设备的屏幕比例为16:9,但是我的相机传感器为4:3。因此,我得到的所有预览尺寸均为4:3。我想知道有什么办法可以使作物大小并仅显示16:9的部分吗?我尝试了很长时间,但没有发现对相机2的任何帮助。

我当前的相机代码类似于相机2基本示例

那么,如何裁剪预览并仅在纹理视图上显示16:9部分?

谢谢!!

Sul*_*ain 1

您可以创建一个SurfaceTexture比例为 4:3 而不是 16:9 的比例。

您可以使用该示例项目中的自定义视图,也可以使用新视图创建自己的视图ConstraintLayout,并设置宽度与 16:9 的高度比(或相反)。

然后当你设置纹理的大小时:

texture.setDefaultBufferSize(width, height)
Run Code Online (Sandbox Code Playgroud)

您不会遇到拉伸问题,因为您的纹理与相机输出的比例相同。

希望这可以帮助