图片压缩方法
来源:互联网 发布:foreach循环遍历数组 编辑:程序博客网 时间:2024/05/16 13:06
UIImageJPEGRepresentation();
压缩之后图片依然很大,不能满足要求,如下方法压缩效率非常高,从此妈妈再也不用担心压缩图片啦~~~~:
-(UIImage *) imageCompressForSize:(UIImage *)sourceImage targetSize:(CGSize)size{
UIImage *newImage =nil;
CGSize imageSize = sourceImage.size;
CGFloat width = imageSize.width;
CGFloat height = imageSize.height;
CGFloat targetWidth = size.width;
CGFloat targetHeight = size.height;
CGFloat scaleFactor =0.0;
CGFloat scaledWidth = targetWidth;
CGFloat scaledHeight = targetHeight;
CGPoint thumbnailPoint =CGPointMake(0.0,0.0);
if(CGSizeEqualToSize(imageSize, size) ==NO){
CGFloat widthFactor = targetWidth / width;
CGFloat heightFactor = targetHeight / height;
if(widthFactor > heightFactor){
scaleFactor = widthFactor;
}
else{
scaleFactor = heightFactor;
}
scaledWidth = width * scaleFactor;
scaledHeight = height * scaleFactor;
if(widthFactor > heightFactor){
thumbnailPoint.y = (targetHeight - scaledHeight) *0.5;
}elseif(widthFactor < heightFactor){
thumbnailPoint.x = (targetWidth - scaledWidth) *0.5;
}
}
UIGraphicsBeginImageContext(size);
CGRect thumbnailRect =CGRectZero;
thumbnailRect.origin = thumbnailPoint;
thumbnailRect.size.width = scaledWidth;
thumbnailRect.size.height = scaledHeight;
[sourceImage drawInRect:thumbnailRect];
newImage = UIGraphicsGetImageFromCurrentImageContext();
if(newImage ==nil){
NSLog(@"scale image fail");
}
UIGraphicsEndImageContext();
return newImage;
}
- android图片压缩方法
- android图片压缩方法
- 图片压缩的方法
- android图片压缩方法
- android压缩图片方法
- 图片压缩方法
- 图片压缩方法
- 图片压缩方法
- android 图片压缩方法
- png图片压缩方法
- 图片压缩处理方法
- android 图片压缩方法
- 压缩图片方法
- 图片压缩方法
- Android图片压缩方法
- 图片压缩方法
- 图片压缩方法
- 压缩图片方法
- sendBroadcast与sendStickyBroadcast的区别
- struts 注解配置
- C++虚继承
- Android性能优化-内存泄漏1
- C#通过文件路径获取文件名
- 图片压缩方法
- Lua 迭代器和一般for
- #3.Linux的文件目录管理
- IOS之字典转模型
- iis7如何添加mime类型支持所有后缀名文件下载的方法(解决特殊后缀文件无法下载的问题)
- 【HDU】 5768 Lucky7
- |Tyvj|动态规划|P1015 公路乘车
- Android的线程和线程池
- 2>&1的含义