1.开发背景
最近开发的项目中,上传图片要求裁剪为4比3的比例,iOS自带裁剪功能是1比1,本来想从网上找一些裁剪工具,发现都不怎么理想,于是就自己做了一个,可自定义裁剪区域的工具,希望对大家有用(由于排版,部分代码用的截图,demo中有详细代码,抱歉)。
2.效果演示
3.工具使用
主要提供两个方法
- (void)showImagePickerWithPresentController:(UIViewController*)presentController
sourceType:(UIImagePickerControllerSourceType)sourceType
allowEdit:(BOOL)allowEdit
cutFrame:(CGRect)cutFrame;
- (void)showImagePickerWithPresentController:(UIViewController*)presentController
sourceType:(UIImagePickerControllerSourceType)sourceType
allowEdit:(BOOL)allowEdit
radio:(CGFloat)radio;
4.主要实现
由于是自定义的裁剪工具,所以,要禁用系统的裁剪
_picker = [[UIImagePickerController alloc] init];
_picker.delegate = self;
_picker.sourceType = sourceType;
[_picker setAllowsEditing:NO];
然后,在选择照片完成的回调中,吊起自身的裁剪工具
可在调用裁剪,设置以下属性
@property (nonatomic, strong) UIColor *cutBorderColor;//边框颜色
@property (nonatomic, assign) CGRect cutFrame;//边框位置
@property (nonatomic, assign) CGFloat maxScale;//最大缩放比例
@property (nonatomic, strong) UIImage *originalImage;//原图像
@property (nonatomic, assign) CGFloat cutBorderWidth;//边框宽度
@property (nonatomic, strong) UIColor *cutCoverColor;//周围覆盖层颜色
通过边框在图片中所占的位置裁剪图片
5.demo链接