AVCam与方形相机

use*_*270 5 ios avcam

我正在使用AVCam来捕捉图像,但现在我想要显示方形相机并拍摄方形图像.我怎么能这样做?

非常感谢你!

Far*_*ahi 0

这些需要两种不同的技术。

了解两者之间的区别很重要。

首先,修改视频预览图层,需要调整视频重力。请注意,在全屏情况下,可以按如下方式更改:

[斯威夫特3]

previewView.videoPreviewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
Run Code Online (Sandbox Code Playgroud)

本质上,您正在修改取景器的范围。但是,您不会对拍摄的照片提供任何效果。

现在,对于填充到正方形的情况,您需要定义图层边界,然后使用AVLayerVideoGravityResize

至于修改拍摄的照片:

我的方法只是获取返回的图像数据,将其转换为 UIImage,然后执行裁剪操作。事实上,您拍摄的照片将始终是标准的 iPhone 分辨率和宽高比。您必须获取图像数据并在某个时候对其进行转换,以消除边界。

事实上,我不再在本地这样做,因为这很麻烦。如果您正在与 REST api 进行通信,我会考虑在服务器端执行裁剪操作——这对用户来说同样无缝且开销更少。当然,这可能不适合您的情况。