杂记 › 资源分享 › 图片压到多少才不糊?无损压缩、WebP转换与网站提速

图片压到多少才不糊?无损压缩、WebP转换与网站提速

上个月替我妈在手机上传妹妹的报名时照片,页面要求"一寸照,JPG,500KB 以内",她拍完直接选中相册里那张——3024×4032,6.1MB,红字提示刷了三次:文件大小超出限制。我先在手机上裁了又裁,还是不行,最后拿到电脑上才想通问题在哪:我一直在调"裁剪框",可真正决定体积的是像素总数和编码质量,不是显示尺寸。那次之后我自己网站上所有配图也顺手过了一遍,首屏加载从 3.4 秒降到 1.9 秒。这篇就写这两件事的结论。

一、一张照片的体积由什么决定

把"图片太大"当成一个问题拆开来,其实是三层:

  • 像素总数:4032×3024 是 1220 万像素,1600×1200 是 192 万,差了六倍多。这一层不动,后面压得再狠也有限。
  • 编码与质量:同样的像素,JPG 质量 95 和质量 75 可能差三到五倍体积;同一画面存成 PNG 通常比 JPG 大得多,因为 PNG 的无损算法不擅长处理照片那种连续渐变。
  • 附带数据:EXIF、拍摄时间、相机型号、GPS 坐标、内嵌缩略图,一张手机原图里这部分常有几十到上百 KB,而且是最容易泄东西的地方。

我自己量过的参照值:手机直出的 JPG 照片 2–4MB;一张 1440×900 的桌面截图存 PNG 约 1.1MB,同一张转成 JPG 质量 80 只剩 180KB 上下;标准一寸照 295×413 像素,JPG 质量 85 通常在 40–70KB。所以我妈那张 6.1MB 的照片要落到 500KB,本来就不是"稍微压一下"的量级。

二、先降尺寸,再调质量:顺序反了就白折腾

常见错误是先拿一张 4000 像素宽的图去压质量,压到 40% 才勉强过线,文字边缘已经糊成一团;而正确做法是先按用途把长边缩到需要的像素,再用中等质量收尾。我用的参考档位:

用途建议长边质量档经验结果
报名/证件照上传(295×413 一类)按平台像素要求JPG 80–90几十 KB,远低于 500KB 限制
博客配图、商品详情1600–200075–85150–350KB,肉眼看不出损失
首屏大图1200–160070–80再配懒加载,LCP 才压得住
聊天记录、文档截图保持原始像素PNG 无损或 WebP宁可无损,文字边缘不能糊
发给客户的产品图按对方要求85–92留原图,另存一份压缩版

那张 6.1MB 的照片,我最后是把长边收到 1200、质量给到 82,出来 240KB,打印一张一寸的排版还够用。整个过程里起作用的是尺寸那一步,不是质量滑块。

三、无损、有损,还有格式选择

无损是重新组织数据的存法,像素一个都不改;有损是允许丢掉一些人眼不敏感的信息。选择取决于图的内容,不是"哪个更高级":

格式透明擅长短板
JPG不支持照片、渐变、体积敏感的场景文字边缘出现色带;反复另存会累积损失
PNG支持截图、图标、线条图、需要透明照片类体积偏大
WebP支持网页配图,同等画质体积更小,还能装动画极老环境打不开,需留 JPG 兜底

有损这一层还有个隐性代价:每次用有损格式重新保存并导出,都会再叠一次损失。所以我的习惯是原图永远留着,压缩只产出副本,需要调整参数时从原图重跑,而不是在压缩结果上再压一遍。

四、我实际的处理流程

  1. 先判断是尺寸问题还是编码问题:把图放大到 100% 看细节,如果本来就是 4000 像素宽而页面只显示 800 像素宽,那答案在尺寸。
  2. 尺寸过大的先用图片尺寸调整按像素或百分比缩,勾上锁定宽高比,避免拉变形;这一步支持 PNG、JPG、WebP、GIF、BMP。
  3. 再进图片压缩批量处理:一次拖十几张,质量在 10% 到 100% 之间调,页面上直接对比压缩前后的文件大小和压缩率,效果即时可见,我一般从 80 起往下试两档。
  4. 需要透明通道的 PNG 单独看一遍,确认 Alpha 还在;截图类优先无损档。
  5. 导出的副本按日期重命名放回去,原图不动。整套处理都在浏览器本地跑,图不上传服务器——这一点对客户素材和证件照很重要。

五、容易被忽略的细节

  • GPS 跟着原图走:iPhone 直出的照片 EXIF 里常带经纬度,微信"发送原图"也会一并传出去。给人发证件照前,要么用截图法重制,要么在导出时去掉附带信息。
  • 平台的二次压缩:微博、微信、部分电商后台会再压一遍你的图。已经压得很低的图被压两次,画质是叠加变差的,传上去反而更糊。
  • 透明背景存 JPG 会变黑底或白底:JPG 不认 Alpha,压之前先确认目标格式,或者铺一层底色再导。
  • HEIC 与 iOS 相册:iPhone 默认存 HEIC,很多网页表单只认 JPG/PNG,上传前要先转一次格式。
  • 首屏性能账:我自己站点上图片占了首屏资源的六成左右,LCP 判定的"良好"线是 2.5 秒以内。首屏那张大图单独优化,收益通常比压缩下面二十张小图更大。
  • GIF 是体积大户:帧数多的 GIF 靠压缩质量救不了,先减尺寸或减帧才是正解。

六、常见疑问

Q:平台限制 500KB,是该降质量还是缩尺寸?

先缩尺寸。像素减一半,体积大约降到四分之一,画质几乎无感;单靠压质量往往要压到四五十才能过线,边缘和皮肤会一起烂掉。

Q:压缩会让画质明显变差吗?

无损不动像素,不会有变化;有损在 75 到 85 这个区间,对照片类内容通常肉眼分不出。要判断就在 100% 缩放对比文字边缘和头发丝,那两处最先露馅。

Q:截图发群里该用什么格式?

PNG 或者 PNG 的无损压缩。截图里全是硬边文字和纯色块,有损压缩会在字缘生出色带,看着比原图脏。

Q:WebP 会不会有人打不开?

近几年的主流浏览器和系统都支持,网页里可以直接用。要发给不特定的外部人群,还是保留 JPG/PNG 更稳。

Q:批量的时候会不会把原图覆盖掉?

我的做法是原图单独放一个目录、只读,压缩结果输出成副本再改名。任何带"覆盖原文件"意思的操作都不该用在原片上。

回到开头那张 6.1MB 的照片。它最后没被压到极限,只是收到 1200 像素、质量 82、240KB 就通过了审核——限制是给人看的,不是给画质看的。真正需要记住的顺序只有两条:先看像素够不够用,再看格式和档位对不对;剩下的都是可重复调的旋钮。

📎 相关文章

SOS 只有 9 个音,整句字母表要 104 个音:摩斯码的节奏怎么算出来 2026-10-21 转盘上写「权重 30」是几成机会?扇区角度、放回与不放回的两种抽法 2026-10-21 渐变底上的白字为什么总看不清?把 WCAG 对比度逐个色标算一遍 2026-10-21 老照片放大就发糊?画质提升能救回多少细节 2026-10-15 库存标签要条形码?CODE128与EAN-13怎么选 2026-10-15