最近实习,比较忙,知识点没有办法细讲,我会先放上代码与总结,作为给大家的接口,知识点细节以后再补。
1、UIImage的缩放
-(UIImage*)originImage:(UIImage *)image scaleToSize:(CGSize)size
{
// 创建一个bitmap的context
// 并把它设置成为当前正在使用的context
UIGraphicsBeginImageContext(size);
// 绘制改变大小的图片
[image drawInRect:CGRectMake(0, 0, size.width, size.height)];
// 从当前context中创建一个改变大小后的图片
UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();
// 使当前的context出堆栈
UIGraphicsEndImageContext();
// 返回新的改变大小后的图片
return scaledImage;
}
2、UIImage的压缩
-(UIImage*)compressImageWithOriginalImage:(UIImage*)image percent:(CGFloat)percent
{
NSData *imageData = UIImageJPEGRepresentation(image, percent);
UIImage *newImage = [UIImage imageWithData:imageData];
return newImage;
}
我对压缩的percent与原始图像的字节大小进行了比较,当percent为0.8左右时可判定为高质量,0.6左右为中等质量。