微信的压缩算法一直都在修改变动,图片的清晰度和饱和度与太多因素相关,不同手机型号(手机分辨率不同),图片上传后的质量也会略微不同,微信压缩图片是为了提高加载速度,减轻服务器的压力。

在微信公众号后台上传图片,我们上传的图片无法完美适配不同型号的手机,也无法完全规避微信压缩原则,不知道微信的压缩算法,我们怎样做才能最大程度有效保持图片质量?

方法:

能用 png 就用 png

静图图片原始尺寸宽度保持为1080 px,以免被压缩

还有其他建议和原理,继续往下看 ↓↓↓

微信图片上传要求

图片格式:bmp、png、jpeg、jpg、gif格式

图片大小:任意单张图片必须小于 5M,其中 gif 小于 2M

从本地上传图片到微信公众号后台都会被压缩,此前微信官方的图片规则建议是

大图片建议尺寸:900 * 500像素,但上传后图片会自动压缩为宽 640 像素。

此种说法目前已经不成立,图片并不会自动压缩到 640 像素,可自行验证。

其实在 PC 端和手机端查看微信公众号图片,如果所有图片分辨率都超过阅读区域的分辨率,比如大于手机屏幕分辨率的图片,所有图片都会以相同大小显示,即使原本图片分辨率像素不一样。

所以顺着这个思路想,我们可不可以通过调整图片分辨率或者改变图片格式,来达到最佳的压缩效果?

调整图片分辨率

我们从常用的 jpg、png、gif 这三种图片来分析,经过多次反复测试,终于发现了图片在微信后台压缩的规律。可以在PC端浏览器审查元素。

由于知乎会对图片进行再次压缩,很多图片色彩上的差别无法凭借肉眼分辨,区别明显的清晰度还是可以对比看出的,根据下面测试得到的结论,具体情况自己试验哦!

jpg图片压缩:

jpg 宽度像素 ≤ 1080,图片不被压缩

jpg 宽度像素 >1080,图片被压缩成 1080

png图片压缩:

png 和 jpg 图片压缩相同

png宽度像素 ≤ 1080,图片不被压缩

png宽度像素 >1080,图片被压缩成 1080

gif图片压缩:

gif 帧数>60,图片不被压缩

gif 帧数≤ 60时,

图片宽度像素 > 640,图片被压缩成 640

图片宽度像素 ≤ 640,图片不被压缩

gif 帧数=1帧,1帧的 gif 图片相当于静图输出为 gif 格式

宽度像素 ≤ 1080,图片不被压缩

宽度像素 >1080,图片被压缩成 1080

调整图片格式

根据上面得出的图片分辨率结果,发现在小于等于1080 px的范围内,图片尺寸越大,图片越清晰,而宽度大于1080 px的图片容易被压缩,所以我们在插入图片时尽量输出宽度为1080px的图片,不同格式的图片适合不同类型的图片场景。

图片大小

png > gif > jpg (正常情况下)

图片透明度效果

png > gif > jpg(不支持)

色彩丰富程度

jpg > png(png-24>png-8)> gif

图片清晰度

png > gif > jpg

我们同样可以做试验,选择相同尺寸的图片,输出不同格式,看看哪种效果更好。

通过对比发现,每组图片的差异都不太明显,肉眼只能看出细微的差别。

其中 jpg 图片被压缩得最厉害,png 质量最好,色彩简单的图片,输出 png-8格式,色彩丰富的摄影图和色彩鲜明的设计图,输出 png-24格式

改变图片格式的方法:打开photoshop→点击左上角【文件】→【导出】按钮选择存储为 Web 所有格式→最后点击存储

举例截图:

jpg格式

png格式

gif格式

仔细看红色部分,jpg 图片被压缩得最模糊,png 和 gif 图片质量保存相对要好一些。

插画:

同一张图片只有在手机上放大查看才能发现不同的压缩情况

原图

gif格式

png格式

jpg格式

png图片最光滑质量最好,jpg图片其次,gif图片格式很多噪点质量最差,手机上查看效果比知乎上传后更明显。

出现这种情况的原理是什么?

图片原理

gif :采用无损压缩,相比无压缩的 bmp 格式,尺寸较小,支持透明和动画,但 gif 最多只能表达256 种颜色,所以色彩复杂、细节丰富的图片不适合保存为 gif 格式,色彩简单的 logo、icon、线框图适合采用 gif 格式。

jpg:有损压缩,支持1600W多(2^24)的颜色,在重复复制保存编辑图片时,图片质量会下降, jpg 非常适合色彩丰富和渐变色的图片,但 jpg 不适合icon、logo,相比 gif 和 png-8,jpg 文件大小没有任何优势。

png:采用无损压缩,相比 gif,对透明的支持更好( png 支持对原图像定义 256 个透明层次,使得图像的边缘能与任何背景平滑融合),尺寸也更小,如果需要更高品质色彩和丰富细节的表达,需要导出 png-24,但 png-24比 png-8的文件更大,不支持动画。在保证图片清晰、逼真的前提下,优先选择 png格式的图片。

* png-8 指的是 8 bits,相当于用 2^8(2 的 8 次方)来存储图片颜色种类,意思是 png-8 能存储 256 种颜色,如果一张图片颜色种类较少,存为 png-8 格式较为合适。

* png-24 指的是 3个 8 bits,分别来表示 RGB 值,也就是说,png-24可以表达256*256*256(16777216)种颜色,所以 png-24 比 png -8 表达的色彩更丰富,相对图片占用的空间也大些,比 jpg 要大很多。

结论

目前并不存在微信不会压缩 gif 图片的说法。

* 静图:

微信对 png 图片更友好,当图片出现压缩不清晰时,导出宽为 1080 px 的 png-24 格式图片。

* 动图:

帧数大于 60,动图宽度最大不超过1080 px

帧数小于等于 60,动图宽度最大不超过640 px

当然也不排除最后上传时, gif 格式图片效果最好的情况,毕竟影响图片压缩质量的因素太多,总之优先考虑万能输出 png,自己多次尝试输出不同格式的图片,发现最理想的效果。

出现图片太大无法上传,可以利用 phtoshop 降低图片尺寸,或者在 TingPNG 、压缩图等网站上压缩图片。

你知道还有哪些避免微信压缩的方法?可以评论交流哦!

ueeditor无法上传图片_微信公众号上传图片被压缩,有什么方法可以完美解决?...相关推荐

  1. php 公众号验证回调方法_微信公众号运营的技巧和方法?

    微信公众号+朋友圈+社群,已经成为大多数企业的营销标准.我们真的没有理由不选择用户数量最多.粘性最强的营销媒体.不管一个品牌有多小,他都有自己的品牌,每个人都有不同的方法和技巧.接下来,我将与大家分享 ...

  2. 批量上传图片_微信公众号关键词回复图片突破200条规则,怎么设置?

    本文将讲解如何通过,微星极光-无限关键词助手[专业版]实现以下功能: 关键词数量突破微信官方200条限制 批量设置关键词回复图片 关键词数据离线管理,并且可以在不同公众号之间进行同步 本文所提及的全部 ...

  3. python爬虫公众号_python爬虫_微信公众号推送信息爬取的实例

    问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...

  4. 微信公众号怎么推送消息_微信公众号发送消息

    A.模板消息发送 模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等.不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息. 备注 ...

  5. python微信爬取教程_python爬虫_微信公众号推送信息爬取的实例

    问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...

  6. python微信公众号推送_python爬虫_微信公众号推送信息爬取的实例

    问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...

  7. 个人公众号注销方法_微信公众号怎么注销,注销方法

    [导读]2017年微信公众号怎么注销?注销方法有哪些?根据最新消息,2017年4月12日起,微信公众号可以自主注销,用户在核实身份信息或者验证帐号主体后,可以在公众号后台-"公众号设置&qu ...

  8. java微信公众号开发token验证失败的问题及解决办法

    java微信公众号开发token验证失败的问题及解决办法 参考文章: (1)java微信公众号开发token验证失败的问题及解决办法 (2)https://www.cnblogs.com/beardu ...

  9. java识别农作物病虫害源码,一种基于微信公众号的农作物虫害识别方法及其系统与流程...

    本发明涉及农业技术领域,具体涉及一种基于微信公众号的农作物虫害识别方法及其系统. 背景技术: 针对目前我国农作物害虫诊断大多停留在人工阶段,存在着客观性差.效率低.劳动强度大等问题,以及现有的基于图像 ...

最新文章

  1. Linux下视频截取命令
  2. 自定义input type=file 样式的方法
  3. ICCV 2021 Oral | PoinTr:几何敏感的多样点云补全Transformer
  4. python爬虫软件-Python爬虫工具篇 - 必会用的6款Chrome插件
  5. 软工实践第三次作业-原型设计
  6. Python3--爬取数据之911网站信息爬取
  7. eclipse配置java环境_Java工作环境的配置与Eclipse的安装过程
  8. 20151026c#2
  9. 安卓BLE开发教程(一) BLE基础
  10. Eclipse安装SVN检出项目插件Subclipse失败过程记录
  11. Android 压力测试 手机重启测试
  12. python软件操作步骤_python+pywinauto C/S架构软件基本操作
  13. Redis客户端Lettuce深度分析介绍
  14. C语言程序设计(2020)编程题答案——第14章结构体、共用体和用户定义类型
  15. 遗传算法调参 参数设置
  16. Android Kotlin Paging3 Flow完整教程
  17. 项目5 判断点是否在圆内
  18. matlab图像分割评价——代码
  19. 干货|8款开关电路设计详解,电路图+工作原理,图文结合,秒懂
  20. 【水利物联网】雨污水泵站监控系统方案

热门文章

  1. Adobe Lightroom2023:完美的数字照片管理和处理软件
  2. Ubuntu镜像源更改为清华镜像源
  3. matplotlib.pyplot的全函数解释 API
  4. UI组件库Kendo UI for Vue中文入门指南(二)
  5. 二进制转十进制的两种方法
  6. 多用户商城APP开发有哪些优势
  7. 行式存储和列式存储的区别
  8. 为 Hexo 博客添加 valine 评论系统
  9. 贝叶斯优化与高斯过程
  10. Xshell下载安装,史上最简单易懂教程