裁剪图片方法
CGImageCreateWithImageInRect(CGImageRef _Nullable image, CGRect rect)
参数解析:
- image: 需要被裁剪的图片
- rect: 裁剪范围
注意
- CGImageCreateWithImageInRect 是C的函数,使用的坐标都是像素
- 在iOS中使用的都是点坐标
所以在高分辨率的状态下加载了@2x或@3x的图片,而CGImageCreateWithImageInRect还是以@1x的尺寸去进行裁剪,最终只裁剪了部分尺寸的内容
解决方案:
[UIScreen mainScreen].scale; // 获取当前屏幕坐标与像素坐标的比例
在裁剪范围的宽度和高度上都乘以 [UIScreen mainScreen].scale 即可
最后说两句
这个方法获取到的是CGImageRef类型
CGImageCreateWithImageInRect(CGImageRef _Nullable image, CGRect rect)
配合下方方法获取UIImage
[UIImage imageWithCGImage:(nonnull CGImageRef)];