IOS 调整内存中的图片大小实例详解

发布时间 - 2026-01-11 00:37:12    点击率:

IOS 调整内存中的图片大小实例详解

在从网路download图片,或者从相册读取图片的时候,如果ImageView的本身就是固定的300*200,那么载入2000*2000的图片是很浪费内存的。

2000*2000的内存占用是2000*2000*4bit

以下两个函数可以用来创建一个新的按照固定大小的图片。简单来说,就是Core Graphics来创建一个bitmap,然后生成一个图片。

- (UIImage*)imageWithImage:(UIImage*)image
       scaledToSize:(CGSize)newSize;
{
  UIGraphicsBeginImageContext( newSize );
  [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
  UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
  UIGraphicsEndImageContext();

  return newImage;
}
-(UIImage*)imageWithImage:(UIImage *)image
       resizeFactor:(CGFloat)scale
{
  CGSize originalSize = image.size;
  CGSize newSize = CGSizeMake(originalSize.width * scale, originalSize.height* scale);
  UIGraphicsBeginImageContext(newSize);
  [image drawInRect:CGRectMake(0,0,newSize.width, newSize.height)];
  UIImage * newImage = UIGraphicsGetImageFromCurrentImageContext();
  UIGraphicsEndImageContext();
  return newImage;
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# IOS  # 调整内存中的图片大小  # 内存图片大小修改  # IOS 常见内存泄漏以及解决方案  # iOS通过逆向理解Block的内存模型  # 详解关于iOS内存管理的规则思考  # 详解iOS应用开发中的ARC内存管理方式  # IOS中内存管理那些事  # 剖析iOS开发中Cocos2d-x的内存管理相关操作  # 解析iOS内存不足时的警告以及处理过程  # shell脚本监控linux系统内存使用情况的方法(不使用nagios监控linux)  # iOS内存错误EXC_BAD_ACCESS的解决方法  # 详解使用Xcode7的Instruments检测解决iOS内存泄露(最新)  # 创建一个  # 希望能  # 谢谢大家  # 可以用来  # 网路  # bit  # brush  # cpp  # bitmap  # UIImage  # Core  # Graphics  # class  # download  # ImageView  # strong  # br  # pre  # return 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 佛山网站制作系统,佛山企业变更地址网上办理步骤?  Python正则表达式进阶教程_复杂匹配与分组替换解析  如何快速搭建二级域名独立网站?  Python文本处理实践_日志清洗解析【指导】  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  iOS中将个别页面强制横屏其他页面竖屏  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  如何在不使用负向后查找的情况下匹配特定条件前的换行符  Laravel如何使用Blade组件和插槽?(Component代码示例)  如何用y主机助手快速搭建网站?  Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程  郑州企业网站制作公司,郑州招聘网站有哪些?  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  Laravel如何实现一对一模型关联?(Eloquent示例)  javascript基本数据类型及类型检测常用方法小结  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  济南网站建设制作公司,室内设计网站一般都有哪些功能?  bootstrap日历插件datetimepicker使用方法  lovemo网页版地址 lovemo官网手机登录  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  如何在自有机房高效搭建专业网站?  如何用AI帮你把自己的生活经历写成一个有趣的故事?  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  nodejs redis 发布订阅机制封装实现方法及实例代码  Python数据仓库与ETL构建实战_Airflow调度流程详解  Linux网络带宽限制_tc配置实践解析【教程】  潮流网站制作头像软件下载,适合母子的网名有哪些?  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  如何基于云服务器快速搭建个人网站?  如何快速搭建安全的FTP站点?  大型企业网站制作流程,做网站需要注册公司吗?  ,怎么在广州志愿者网站注册?  如何快速重置建站主机并恢复默认配置?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  javascript读取文本节点方法小结  如何快速搭建自助建站会员专属系统?  Laravel如何使用Vite进行前端资源打包?(配置示例)  网易LOFTER官网链接 老福特网页版登录地址  如何用搬瓦工VPS快速搭建个人网站?