博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS 缩放图片常用方法
阅读量:4503 次
发布时间:2019-06-08

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

/** *  指定Size压缩图片 (图片会压缩变形) * *  @param image 原图 *  @param size  压缩size * *  @return 压缩后的图片 */-(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;}/** *  等比缩放图片裁剪指定区域图片 * *  @param image 原图 *  @param size  裁剪范围 * *  @return 裁剪后的图片 */-(UIImage *)compressImageWith:(UIImage *)image scaleToSize:(CGSize)size{    // 原图宽    CGFloat imageWidth = image.size.width;    // 原图高    CGFloat imageHeight = image.size.height;        // 缩放比例    CGFloat widthScale = imageWidth /size.width;    CGFloat heightScale = imageHeight /size.height;        // 创建一个bitmap的context    // 并把它设置成为当前正在使用的context    UIGraphicsBeginImageContext(CGSizeMake(size.width, size.height));        // 横屏图片    if (widthScale > heightScale) {        [image drawInRect:CGRectMake(0, 0, imageWidth /heightScale , size.height)];    }    else { // 竖屏图片        [image drawInRect:CGRectMake(0, 0, size.width , imageHeight /widthScale)];    }        // 从当前context中创建一个改变大小后的图片    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();    // 使当前的context出堆栈    UIGraphicsEndImageContext();        return newImage;    }

 

转载于:https://www.cnblogs.com/joesen/p/4403737.html

你可能感兴趣的文章
Java多线程之后台线程
查看>>
浏览器兼容性
查看>>
flask 第四篇 模板语言jinja2
查看>>
非均衡分类问题的思考与问题与解决思路
查看>>
头文件与extern
查看>>
python开发技术详解(三) 进阶的语法
查看>>
LeetCode Missing Number
查看>>
Linux 网络(连接)相关参数作用
查看>>
鼠标事件先后顺序
查看>>
洛谷P2756 飞行员配对方案问题
查看>>
在java中删除数组元素的练习
查看>>
[No0000B7]If else 与 三元表达式? : 效率对比
查看>>
【PSR规范专题(5)】PSR-4 改进后的自动加载规范
查看>>
01单例模式(创建型模式)
查看>>
Java 组播
查看>>
java_泛型,设置类型通配符的上限
查看>>
内存保护机制及绕过方案——通过覆盖虚函数表绕过/GS机制
查看>>
并不对劲的fhq treap
查看>>
Ubuntu环境下使用npm编译从git上clone下来的前端(Javascript)项目
查看>>
[JavaEE,MVC] Struts工作原理
查看>>