博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
等比例缩放图片
阅读量:4976 次
发布时间:2019-06-12

本文共 1809 字,大约阅读时间需要 6 分钟。

// 等比例缩放图片/**    方法作用:按比例缩放,size 是你要把图显示到 多大区域    参数:    sourceImage: 图片UIImage    targetSize: 缩放宽高        调用:    UIImage *newImage = [self imageCompressFitSizeScale:image targetSize:CGSizeMake(200, 300)]; */- (UIImage *) imageCompressFitSizeScale:(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;        }else if(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;}

 

转载于:https://www.cnblogs.com/dujiahong/p/6895805.html

你可能感兴趣的文章
python 迭代器与生成器
查看>>
基于ASP.NET WEB API实现分布式数据访问中间层(提供对数据库的CRUD)
查看>>
[django实践]投票app
查看>>
[django]form的content-type(mime)
查看>>
JQUERY —— 绑定事件
查看>>
在TabControl中的TabPage选项卡中添加Form窗体
查看>>
oracle中SET DEFINE意思
查看>>
个人作业-最长英语链
查看>>
JMeter-性能测试之报表设定的注意事项
查看>>
1066-堆排序
查看>>
仿面包旅行个人中心下拉顶部背景放大高斯模糊效果
查看>>
强大的css3
查看>>
c#中的组件拖拽和MouseMove事件
查看>>
C# 小叙 Encoding (二)
查看>>
python创建对象数组避免浅拷贝
查看>>
CSS自学笔记(14):CSS3动画效果
查看>>
项目应用1
查看>>
Ubuntu下配置jdk和tomcat
查看>>
大型网站的演变升级
查看>>
图片延迟加载的实现
查看>>