|
@@ -81,4 +81,42 @@ static dispatch_semaphore_t _lock;
|
|
|
return md5Str;
|
|
return md5Str;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
++ (UIImage*)img_compress:(UIImage*)image kbsize:(float) size {
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ //UIImage *image=[UIImage imageNamed:@"xxoo.jpeg"];
|
|
|
|
|
+ NSData *imageData=UIImageJPEGRepresentation(image, 1.f);
|
|
|
|
|
+
|
|
|
|
|
+ if(size>imageData.length/1024)
|
|
|
|
|
+ return image;
|
|
|
|
|
+
|
|
|
|
|
+ // CGFloat size=40.f;// kb
|
|
|
|
|
+ CGFloat scale=size/(imageData.length/1024);
|
|
|
|
|
+
|
|
|
|
|
+ scale = sqrt (scale);
|
|
|
|
|
+
|
|
|
|
|
+ CGSize newsize=image.size;
|
|
|
|
|
+ newsize.height = newsize.height*scale;
|
|
|
|
|
+ newsize.width = newsize.width*scale;
|
|
|
|
|
+
|
|
|
|
|
+ return [self scaleImageToSize:image size:newsize];
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
++ (UIImage *)scaleImageToSize:(UIImage *)img size:(CGSize)size {
|
|
|
|
|
+ // 创建一个bitmap的context
|
|
|
|
|
+ // 并把它设置成为当前正在使用的context
|
|
|
|
|
+ UIGraphicsBeginImageContext(size);
|
|
|
|
|
+ // 绘制改变大小的图片
|
|
|
|
|
+ [img drawInRect:CGRectMake(0, 0, size.width, size.height)];
|
|
|
|
|
+ // 从当前context中创建一个改变大小后的图片
|
|
|
|
|
+ UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();
|
|
|
|
|
+ // 使当前的context出堆栈
|
|
|
|
|
+ UIGraphicsEndImageContext();
|
|
|
|
|
+ // 返回新的改变大小后的图片
|
|
|
|
|
+
|
|
|
|
|
+ // NSData *imageData=UIImageJPEGRepresentation(scaledImage, 1.f);
|
|
|
|
|
+ return scaledImage;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
@end
|
|
@end
|