我试图让用户拍摄 16x9 纵横比的图像,以使其看起来像是精美的高清照片。我正在使用 cameraViewOverlay 覆盖两端的黑条,但是在拍摄图像时,如何在不调整大小或更改图像比例的情况下裁剪顶部和底部?
谢谢。
我试图让用户拍摄 16x9 纵横比的图像,以使其看起来像是精美的高清照片。我正在使用 cameraViewOverlay 覆盖两端的黑条,但是在拍摄图像时,如何在不调整大小或更改图像比例的情况下裁剪顶部和底部?
谢谢。
关于如何缩放/裁剪从相机返回的 UIImage 有很多帖子,比如这个。
这比你想象的要复杂一些,因为相机图像是旋转的,所以即使你只是裁剪,你也必须考虑旋转。
您可以在拍摄图像时将“picker.imageEditing=YES”添加到您的代码中。然后您必须在界面构建器中设置 imageView 属性:Image View Attributes -> View -> Mode -> Aspect fit,或您希望的其他选项
检查Ming Yang的这个解决方案。 https://github.com/myang-git/iOS-Image-Crop-View
它允许用户通过围绕图像的所需部分滑动或拖动矩形的边缘来裁剪图像。我认为可以修改此代码以适应您的裁剪需要,无论是自动还是手动。
它是用 Objective-C 编码的。您可能必须在 Swift 中对其进行编码,或者只是构建一个桥接头来将 Objective-C 代码与 Swift 代码连接起来。