iOS中图片压缩的常见方法
开发中经常会碰到从手机相册中选择图片的需求,选择图片这个过程是一个消耗性能的过程,取决于手机图片的大小,如果手机像素非常高,图片的尺寸非常大,这个时候就会变得很消耗性能,比如一张图片5兆,这个时候选择后加载的时候就会有些卡顿,内存开始大幅升高,仔细想想也没有这种必要去加载这么大的图片,所以总结了两种处理方法,提供参考
1:对图片进行压缩,iOS的API中提供了函数进行压缩,代码如下:
NSData *imageData = UIImageJPEGRepresentation(image, 0.5);这个返回的是二进制的data值,可以通过打印知道大小确实减少了好多,通过此方法确实能优化性能,需要注意的是这个0.5,并不是说压缩到之前图片的二分之一
,应该是个系数之类的数值,这样的话图片压缩之后性能会好很多,但是不建议这个,因为解压缩的时候很耗费性能建议使用第二种方法2:根据image从新绘制一张新的图片出来,第一种的方法多多少少会有些失真,第二种方法是根据图片从新绘制一张出来,不会失真,只是改变图片的大小,比如之前是5000 * 5000的分辨率,
这个时候你压缩后可能就只有500 * 500 ,不会失真,只会改变大小,建议使用,方法如下:
- (UIimage *)imageWithImage:(UIImage*)imagescaledToSize:(CGSize)newSize;
{UIGraphicsBeginImageContext(newSize);[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();return newImage;
如上两种方法,即可简单实现压缩图片的功能,更深入的话就要图像编码之类的知识了估计,记录下以备忘
}
iOS中图片压缩的常见方法相关推荐
- 谈谈 iOS 中图片的解压缩
对于大多数 iOS 应用来说,图片往往是最占用手机内存的资源之一,同时也是不可或缺的组成部分.将一张图片从磁盘中加载出来,并最终显示到屏幕上,中间其实经过了一系列复杂的处理过程,其中就包括了对图片的解 ...
- iOS中图片的解压缩
原文出处 对于大多数 iOS 应用来说,图片往往是最占用手机内存的资源之一,同时也是不可或缺的组成部分.将一张图片从磁盘中加载出来,并最终显示到屏幕上,中间其实经过了一系列复杂的处理过程,其中就包括了 ...
- 谈谈iOS中图片的解压缩
原文 对于大多数 iOS 应用来说,图片往往是最占用手机内存的资源之一,同时也是不可或缺的组成部分.将一张图片从磁盘中加载出来,并最终显示到屏幕上,中间其实经过了一系列复杂的处理过程,其中就包括了对图 ...
- 【Android 内存优化】Android 原生 API 图片压缩原理 ( Bitmap_compress 方法解析 | Skia 二维图形库 | libjpeg 函数库 | libpng 函数库 )
文章目录 一. 图片质量压缩方法 二. Skia 二维图形库 三. libjpeg.libpng 函数库引入 在博客 [Android 内存优化]图片文件压缩 ( Android 原生 API 提供的 ...
- ios html gif 显示,iOS中gif图的显示方法示例
iOS中gif图的显示方法示例 发布时间:2020-09-19 06:15:42 来源:脚本之家 阅读:86 作者:蓝光95 一.前言 iOS开发中,大部分时候我们显示一张静态图就可以了,但是有的时候 ...
- 照片太大了怎么改小kb?图片压缩在线处理方法
我们经常会在使用图片的过程中遇到图片过大影响使用的问题,那么照片太大了怎么改小kb?今天给大家介绍一款压缩图片在线工具,简单好用,一起来看看吧! 1.打开起步网选择上传图片,功能支持jpg.png.g ...
- 手机图片压缩大小的方法,用什么软件压缩
手机图片怎么压缩大小,现在很多的手机拍出来的图片文件都在几兆,这样的图片文件是不能够上传到一些网站中的,今天小编就为大家介绍一下手机图片压缩大小的方法以及压缩软件的使用方法. 使用软件:迅捷压缩软件 ...
- 微信小程序中图片压缩的最佳实现与封装
一.概述 在项目开发过程中遇到一个需要从小程序上传图片的需求,此需求实现起来并不难,只需要调用chooseImage接口拿到图片的临时路径然后调用uploadFile接口进行上传.到这里这个功能已经实 ...
- 如何压缩jpg大小?jpg图片压缩的简单方法
我们日常的学习.工作中,经常需要收发很多jpg图片.当这些jpg图片体积过大的时候,不仅会减缓我们传输的速度,还会占用大量的电脑储存空间.那么如何将图片压缩(https://www.yasuotu.c ...
最新文章
- FT(Fourier Transform)在滤波上的应用
- 通过WebAssembly在浏览器运行PHP
- 为Linux命令起别名
- socket 编程入门教程(一)TCP server 端:7、接收与发送
- 用express、mongodb、nodejs开发简单的登陆
- cuteEditor 配置
- PHP 9: 表达式
- Mxnet入门--第3篇
- 视频录制软件哪个好,推荐几款简单实用的视频课件录制软件
- 【功能测试】part1
- Ribbon负载均衡配置
- 现代公司制度的法理学基础 (贾登勋 王勇)
- 谱尼软件测试,谱尼为网络安全护航
- Python极简实现IoU
- 华为电脑怎么不上鸿蒙,我找不到不喜欢华为鸿蒙操作系统的理由
- 爬虫第二讲:Beautiful Soup库
- 王者荣耀android加ios好友,王者荣耀安卓和苹果能加好友吗 安卓和ios怎么加好友...
- Spring AOP——Spring 中面向切面编程
- springboot中实现短信验证(从零开始、腾讯云)
- #region和#endregion的作用