我使用AVCam来捕捉图像,但现在我想显示正方形相机和拍摄正方形图像。我该怎么做呢?
非常感谢!
发布于 2016-08-17 05:21:23
这些需要两种不同的技术。
理解这两者之间的区别很重要。
第一,修改视频预览层,需要调整视频重力。请注意,在全屏环境中,可以按如下方式进行更改:
Swift 3
previewView.videoPreviewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill从本质上讲,你是在修改取景器的范围。但是,您没有在捕获的照片上提供任何效果。
现在,对于填充到正方形的情况,您需要定义层边界,然后使用AVLayerVideoGravityResize。
至于修改采集到的照片:
我的方法只是获取返回的图像数据,将其转换为UIImage,然后执行裁剪操作。事实是,您捕获的照片将始终是标准的iPhone分辨率和纵横比。为了去除边界,您必须获取图像数据并在某个点对其进行转换。
事实上,我不再在本地做这件事了,因为这很麻烦。如果您正在使用REST api进行通信,我会考虑在服务器端执行裁剪操作--它同样是无缝的,并且对用户来说开销更小。当然,这可能不适合您的情况。
https://stackoverflow.com/questions/26583765
复制相似问题