首页 > 代码库 > IOS 压缩图片分辨率
IOS 压缩图片分辨率
+ (UIImage *)imageWithMaxSide:(CGFloat)length sourceImage:(UIImage *)image{ CGFloat scale = [[UIScreen mainScreen] scale]; CGSize imgSize = CWSizeReduce(image.size, length); UIImage *img = nil; UIGraphicsBeginImageContextWithOptions(imgSize, YES, scale); // 创建一个 bitmap context [image drawInRect:CGRectMake(0, 0, imgSize.width, imgSize.height) blendMode:kCGBlendModeNormal alpha:1.0]; // 将图片绘制到当前的 context 上 img = UIGraphicsGetImageFromCurrentImageContext(); // 从当前 context 中获取刚绘制的图片 UIGraphicsEndImageContext(); return img;}static inlineCGSize CWSizeReduce(CGSize size, CGFloat limit) // 按比例减少尺寸{ CGFloat max = MAX(size.width, size.height); if (max < limit) { return size; } CGSize imgSize; CGFloat ratio = size.height / size.width; if (size.width > size.height) { imgSize = CGSizeMake(limit, limit*ratio); } else { imgSize = CGSizeMake(limit/ratio, limit); } return imgSize;}
IOS 压缩图片分辨率
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。