我希望允许用户使用16:9的画幅比例拍摄照片看起来像高清照片。我使用cameraViewOverlay在两端叠加黑色条形框,但是当拍摄照片时,如何裁剪顶部和底部而不改变图像的大小或比例?谢谢。
有许多关于如何缩放/裁剪从相机返回的UIImage的帖子,比如这个。
这比你想象的要棘手一些,因为相机图像是旋转的,所以即使你只是裁剪,也必须考虑旋转。
请查看Ming Yang提供的解决方案。 https://github.com/myang-git/iOS-Image-Crop-View
该方案允许用户通过滑动或拖动矩形边缘来裁剪所需部分的图像。我认为可以修改此代码以适应自动或手动裁剪需求。
它用Objective-C编写。您可能需要将其编写为Swift,或者简单地构建桥接头文件以将Objective-C代码与Swift代码连接起来。
在获取图像时,您可以将"picker.imageEditing=YES"添加到您的代码中。然后您必须在接口生成器中设置imageView属性: 图像视图属性->视图->模式->纵横比适合,或其他您希望使用的选项