压缩图片至指定大小
//循环实现该方法
-(UIImage *)CutImage:(UIImage *)image ToTargetsize:(float)size{
UIImage *img1 = [Tools imageCompressForWidth:image targetWidth:image.size.width/2];
NSData *data = UIImageJPEGRepresentation(img1, 0.5);
if(data.length >= size) {
[self CutImage:img1 ToTargetsize:size];
}
UIImage *img = [UIImage imageWithData:data];
return img;
}
+(UIImage *) imageCompressForWidth:(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;
}