// 图片剪切
- (UIImage*)clipImageWithImage:(UIImage*)image inRect:(CGRect)rect {
CGImageRef imageRef = CGImageCreateWithImageInRect(image.CGImage, rect);
UIGraphicsBeginImageContext(image.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextDrawImage(context, rect, imageRef);
UIImage* clipImage = [UIImage imageWithCGImage:imageRef];
// CGImageCreateWithImageInRect(CGImageRef _Nullable image, <#CGRect rect#>)
// UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext(); // 不同的方式
UIGraphicsEndImageContext();
// NSData* data = [NSData dataWithData:UIImagePNGRepresentation(clipImage)];
// BOOL flag = [data writeToFile:@"/Users/gua/Desktop/Image/后.png" atomically:YES];
// GGLogDebug(@"========压缩后=======%@",clipImage);
return clipImage;
}
// 图片压缩
- (UIImage*)imageCompressImage:(UIImage *)sourceImage targetWidth:(CGFloat)defineWidth {
CGSize imageSize = sourceImage.size;
CGFloat width = imageSize.width;
CGFloat height = imageSize.height;
CGFloat targetWidth = defineWidth;
CGFloat targetHeight = (targetWidth / width) * height;
UIGraphicsBeginImageContext(CGSizeMake(targetWidth, targetHeight));
[sourceImage drawInRect:CGRectMake(0,0,targetWidth, targetHeight)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}