Swift-自定义裁切图片

代码Github地址

在做上传图片的时候,对上传的图片尺寸有各种要求,比如宽高比为1:1的图,2:1的图片。。。系统提供的裁切方形的功能满足不了需求。

一. 先来看效果图

初始情况效果图
旋转效果图
旋转效果图
拖拽缩放效果图
圆形图片效果图

二. 该框架的优点

  1. 使用方便。
  2. 做了任意图片尺寸和裁切框尺寸关系的容错处理。
  3. 做了自动填充处理,不会存在裁切到空白区域的问题。
  4. 做了最小缩放比例的处理。
  5. Swift语言实现。
  6. 有比较细致的注释。

三. 如何使用

  1. 暂时未发布到cocoapods上,所以请自行下载导入。
  2. 如何调用
        let vc = MCClipImageViewController()
        vc.delegate = self
       // 是否裁切圆形图片,默认是方形
        vc.isRound = true
       // 设置裁切的图片和裁切尺寸。
        vc.settingUIDataWithImage(image, size: size)
        self.present(vc, animated: true, completion: nil)
  1. 代理方法
extension MCSevenViewController : MCClipImageViewControllerDelegate {
    // 点击取消
    func MCClipImageDidCancel() {
        print("点击了取消按钮")
    }
    // 获得了图片
    func MCClipImageClipping(image: UIImage) {
    print("裁切完成之后的图片为 \(image)")
    }
}

四. 待拓展的功能

/**
 待拓展的功能
 * 1. (完成)旋转图片。
 * 2. 标出来裁剪框的尺寸和比例
 * 3. 手动调整裁剪框的比例
 * 4. 是否添加水印
 * 5. 开放裁切框的颜色和UI。
 * 6. (完成)圆形裁切框
 * 7. 做弹出框旋转相册,拍照功能的处理。
 * 8. 当前页面,手动改变裁切框的尺寸。让用户选择。开发给开发者一个裁切框的数组。可以设置多个尺寸。
 * 9. 抽离底部功能区域。做成一个模块。做一个半透明的底部。
 * 10. 将填充的尺寸,改为填充尺寸比例。 尺寸数组第一个为默认裁切框比例。
 */

你可能感兴趣的:(Swift-自定义裁切图片)