在做上传图片的时候,对上传的图片尺寸有各种要求,比如宽高比为1:1的图,2:1的图片。。。系统提供的裁切方形的功能满足不了需求。
一. 先来看效果图
初始情况效果图 旋转效果图 旋转效果图 拖拽缩放效果图 圆形图片效果图二. 该框架的优点
- 使用方便。
- 做了任意图片尺寸和裁切框尺寸关系的容错处理。
- 做了自动填充处理,不会存在裁切到空白区域的问题。
- 做了最小缩放比例的处理。
- Swift语言实现。
- 有比较细致的注释。
三. 如何使用
- 暂时未发布到cocoapods上,所以请自行下载导入。
- 如何调用
let vc = MCClipImageViewController()
vc.delegate = self
// 是否裁切圆形图片,默认是方形
vc.isRound = true
// 设置裁切的图片和裁切尺寸。
vc.settingUIDataWithImage(image, size: size)
self.present(vc, animated: true, completion: nil)
- 代理方法
extension MCSevenViewController : MCClipImageViewControllerDelegate {
// 点击取消
func MCClipImageDidCancel() {
print("点击了取消按钮")
}
// 获得了图片
func MCClipImageClipping(image: UIImage) {
print("裁切完成之后的图片为 \(image)")
}
}
四. 待拓展的功能
/**
待拓展的功能
* 1. (完成)旋转图片。
* 2. 标出来裁剪框的尺寸和比例
* 3. 手动调整裁剪框的比例
* 4. 是否添加水印
* 5. 开放裁切框的颜色和UI。
* 6. (完成)圆形裁切框
* 7. 做弹出框旋转相册,拍照功能的处理。
* 8. 当前页面,手动改变裁切框的尺寸。让用户选择。开发给开发者一个裁切框的数组。可以设置多个尺寸。
* 9. 抽离底部功能区域。做成一个模块。做一个半透明的底部。
* 10. 将填充的尺寸,改为填充尺寸比例。 尺寸数组第一个为默认裁切框比例。
*/
网友评论