Tag: Imagecropper

如何使用Swift 3制作图像裁剪器

我最近有一个项目,我必须按特定的宽高比裁剪图像,但找不到完整的教程,所以我认为我应该做一个。 我按照以下步骤划分了本教程,以便您轻松理解。 创建图像缩放和滚动。 计算图像视图内的图像帧。 计算相对于实际图像尺寸的裁剪区域框。 进行裁剪 创建图像缩放和滚动 让我们从创建一个ViewController开始。 因此,转到您的故事板文件,然后从XCode右下角的对象库中拖动一个新的ViewController。 现在将一个ScrollView拖到ViewController上,并将ScrollView的帧调整到ViewController的边缘,然后将ImageView拖到ScrollView下,并将ImageView的帧调整到ScrollView的边缘。 要添加所有缺少的约束,只需转到情节提要的右下角,然后单击“向所有视图添加缺少的约束”。 现在,可以通过ImageAsset在ImageView上设置图像,但是稍后在您的应用程序中,您可以从相机或照片库或任何其他来源获取图像并将其设置为ImageView。 还将内容模式更改为Aspect Fit。 现在,为ScrollView和ImageView创建出口,并设置scrollview的委托,最小缩放比例和最大缩放比例。 class ImageCropperViewController:UIViewController,UIScrollViewDelegate { @IBOutlet var scrollView:UIScrollView!{ didSet { scrollView.delegate =自我 scrollView.minimumZoomScale = 1.0 scrollView.maximumZoomScale = 10.0 } } @IBOutlet var imageView:UIImageView! } 最后,我们需要实现一个UIScrollViewDelegate函数,该函数将返回需要缩放的视图。 对于我们来说,我们需要返回ImageView。 func viewForZooming(在scrollView中:UIScrollView)-> UIView? { 返回imageView } 计算图像视图内的图像帧 当ImageView的内容模式为Aspect Fit时,图像可能不会填满ImageView的所有空间,因此,ImageView内部的图像帧可能不等于其边界。 创建UIImageView的扩展,然后编写一个函数来计算ImageView中的图像帧。 扩展程序UIImageView { func imageFrame()-> CGRect { […]