描述

图片作为App中重要的一个元素,非常具有表现力,图片既要让用户能看清楚,又能让发布图片的用户能快速的上传。所以开发者要对图片进行裁切和质量压缩。但是裁切尺寸质量压缩比设置成多少却很难控制好,如果设置不当会导致图片显示效果很差。

微信是一个很好的参照物,被大家广为使用并接受。这个扩展就是通过发送微信朋友圈和聊天会话发送了大量图片,对比原图与微信压缩后的图片逆向推算出来的压缩算法。

算法

图片尺寸
宽高均 <= 1280,图片尺寸大小保持不变
宽或高 > 1280 && 宽高比 <= 2,取较大值等于1280,较小值等比例压缩
宽或高 > 1280 && 宽高比 > 2 && 宽或高 < 1280,图片尺寸大小保持不变
宽高均 > 1280 && 宽高比 > 2,取较小值等于1280,较大值等比例压缩
注:当宽和高均小于1280,并且宽高比大于2时,微信聊天会话和微信朋友圈的处理不一样。
朋友圈:取较小值等于1280,较大值等比例压缩
聊天会话:取较小值等于800,较大值等比例压缩

图片质量

经过大量的测试,微信的图片压缩质量值 ≈ 0.5

UIImageJPEGRepresentation(resizeImage, 0.5)

效果对比

original wechat this
1500 * 4000, 2.5MB 800 * 2134, 325KB 800 * 2134, 306KB
960 * 600, 210KB 960 * 600, 147KB 960 * 600, 147KB
800 * 1280, 595KB 800 * 1280, 140KB 800 * 1280, 142KB
1080 * 1920, 1.8MB 720 * 1280, 139KB 720 * 1280, 140KB
640 * 1136, 505KB 640 * 1136, 68KB 640 * 1136 69KB
4000 * 3000, 497KB 1280 * 960, 140KB 1280 * 960, 139KB
2560 * 1600, 232KB 1280 * 800 112KB 1280 * 800, 112KB
800 * 2138, 307KB 800 * 2134, 649KB 800 * 2138, 599KB
3351 * 1430, 386KB 1874 * 800, 296KB 1875 * 800, 286KB
3000 *1300, 458KB 1846 * 800 322KB 1847 * 800, 307KB
8323 * 5793, 19.67MB 1280 * 890, 428KB 1280 * 891, 465KB

iOS-微信朋友圈图片压缩算法相关推荐

  1. 微信朋友圈图片压缩算法

    转自: 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u014220518/artic ...

  2. iOS转场动画之微信朋友圈图片查看器

    前言 什么是转场动画呢?顾名思义,就是切换界面所用的动画效果.本文主要介绍的是modal的效果.当我们使用modal的时候,只需要使用 presentViewController:animated:c ...

  3. canva画图 图片居中裁剪_css实现不定宽高的图片img居中裁剪_类似微信朋友圈图片效果...

    需求如下: 前端需要显示矩形的缩略图,接口返回的图片尺寸大小不一,宽高不相等,需要前端来处理并显示成正方形,类似微信朋友圈图片的效果,等比例正方形显示在列表中,让图片根据宽高来自适应显示在页面上.那么 ...

  4. Android仿微信朋友圈图片上传选择器布局

    标题有点绕口,直接上一个效果图,如果符合你的需求的请在往下看,避免浪费你的时间 当当当当,标红的区域就是今天我们要干的活了 ,搞起来! 思路: 对android有点了解的人都知道在列表显示中我们可以使 ...

  5. Android仿微信朋友圈图片展示效果,图片查看器

    现在越来越多的APP都会有图片展示,这里是模仿微信朋友圈图片展示效果,图片查看器. 主要分为4部分: 1.透明Activity 2.计算gridView下iamgeView Item所在位置 3.一张 ...

  6. Android调用系统分享和指定app分享-微信朋友圈图文分享和qq分享

    Android调用系统分享和指定app分享-微信朋友圈图文分享和qq分享 标签: Android系统分享QQ分享朋友圈图文分享 2016-09-27 22:54 279人阅读 评论(0) 收藏 举报 ...

  7. 安卓开发仿微信图片拖拽_Android仿微信朋友圈图片浏览器(支持图片手势缩放,拖动)...

    [实例简介] Android仿微信朋友圈图片浏览器(支持图片手势缩放,拖动) [实例截图] [核心代码] ImageDemo-2014-02-18 └── ImageDemo-2014-02-18 ├ ...

  8. 类微信朋友圈图片放大效果,点击图片放大动画

    要用到的 就是坐标转换方法 - (CGRect)convertRect:(CGRect)rect toView:(UIView *)view; 1:我这里演示的是 tableviewHeader上子v ...

  9. android 图片质量,Android微信朋友圈图片不如 IOS的质量好

    由于众所周知的原因,安卓上的微信软件并没有采用Android规范的UI,而是采用了与iOS系统相同的设计语言,这也给用户一个错觉--这安卓和iOS上运行的微信无论是操作还是体验都别无二致.从操作上来看 ...

  10. 安卓开发仿微信图片拖拽_使用Android 模仿微信朋友圈图片拖拽返回

    1概述 目前的app的动画效果是越来越炫了,很多主流app的图片预览返回都有类似功能,比较常见的是ios自带相册,微信朋友圈等等.自己项目中也有类似功能,最近整理了一下这个功能的代码,做个笔记记录,有 ...

最新文章

  1. 2月28日云栖精选夜读 | 阿里云率先达成国家绿色数据中心标准,平均PUE低于1.3...
  2. 工业级路由器和家用路由器的区别_工业路由器和普通家用路由器有什么区别啊?工业路由器好不好用啊?...
  3. 使用Angular依赖注入自定义SAP Spartacus的ProductAdapter
  4. 论文浅尝 - CIKM2020 | 用于推荐系统的多模态知识图谱
  5. 【JAVA基础篇】IO流
  6. Java中的变量Variable
  7. Python机器学习:评价分类结果002精准率和召回率
  8. 【免费毕设】ASP.NET某中学图书馆系统的设计与实现(源代码+论文)
  9. libSM.so.6: cannot open shared object file: No such file or directoryapt-file search libSM.so.6
  10. 如何手动备份win10驱动和强制安装驱动
  11. 谷歌搜索引擎机器学习原理理解
  12. 视频教程-Java IO流精讲下-Java
  13. C盘Windows XP,D盘Windows7,双系统安装纪录
  14. html中sub标签作用,html中sub标签是什么?关于html sub标签的定义和使
  15. Celery分布式任务队列学习记录
  16. R语言-南丁格尔玫瑰图
  17. 亿级工具类APP头条数据聚合优化实践
  18. V8 工作原理之编译器和解释器
  19. c语言批量修改文件名称,C语言实现批量文档名修改
  20. [VB.NET]单元四 窗体编程

热门文章

  1. kivy制作安卓APP--简单音乐播放器
  2. 17、Java基础---接口
  3. 多云时代下数据管理技术_建立一个混合的多云数据湖并使用Apache Spark执行数据处理...
  4. Java类加载的加载,验证,准备,解析,初始化小结
  5. WinDbg手动修复堆栈
  6. ISO/IEC 9126软件质量标准
  7. 为什么要创业,有人盆满钵满、有人别无选择,区别在创业思维
  8. Android左右声道的控制
  9. FPGA 数字信号处理之 FSK 调制、解调的实现与仿真基于 verilog + ise + modelsim + matlab (保姆级)
  10. nc65右键生成菜单_NC65管理员层级管控