我正在使用AVCam捕捉图像,但现在我想显示方形相机并拍摄方形图像。我怎么能这样做?
非常感谢!
答案 0 :(得分:0)
那些需要两种不同的技术。
了解两者之间的区别非常重要。
首先,修改视频预览图层需要调整视频重力。请注意,在全屏的情况下,可以按如下方式更改:
[斯威夫特3]
previewView.videoPreviewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
基本上,您正在修改取景器的范围。但是,您不会对捕获的照片产生任何影响。
现在,对于填充方块的情况,您需要定义图层边界,然后使用AVLayerVideoGravityResize
。
至于修改拍摄的照片:
我的方法是简单地获取返回的图像数据,将其转换为UIImage,然后执行裁剪操作。事实上,您拍摄的照片将始终是标准的iPhone分辨率和宽高比。您必须获取图像数据并在某个时刻转换它以删除边界。
事实上,我不再在本地这样做,因为这是一个麻烦。如果您正在与REST API进行通信,我会考虑在服务器端执行裁剪操作 - 它对用户来说同样无缝且开销较小。当然,这可能不适合您的情况。