← 返回博客图片压缩是什么:给完全新手讲透的一篇
2026-10-06
图片压缩做的事只有一件:用更少的字节描述同一张图。手机拍的一张 4000×3000 照片,原始像素数据要占三十几兆,压成 JPEG 之后常见两三兆,在手机屏幕上看不出差别。这篇写给刚接触这个概念的人,不谈公式,只讲清压缩到底动了什么、什么时候会真的伤到画质。
图片压缩到底在动什么
一张位图本质是一张像素表格,每个格子里记三个数字:红、绿、蓝。压缩算法找的是这张表里的重复规律,把规律记成一段短描述,而不是一格一格抄数字。重复越多,能省下来的空间越大。
- 空间冗余:大片同色的天空、墙面、虚化背景,一行描述就能覆盖一整片区域
- 编码冗余:同一串数值出现得越频繁,越能用更短的符号代替,思路和压缩包一样
- 视觉冗余:人眼对高频细节和细微色差不敏感,这部分数据可以记得更粗
压缩不等于把图片缩小。尺寸不变、像素数量不变,变的是记录这些像素要花多少字节。把这两件事分开,后面大部分困惑都会消失。
有损压缩和无损压缩的区别
两种方式的差别只有一个:解压之后能不能还原成原始字节。能还原的叫无损,不能还原的叫有损。
- 无损:PNG、WebP 无损模式、TIFF 的 LZW。解压后逐字节相同,适合截图、图表和带文字的图
- 有损:JPEG、WebP 有损模式、AVIF。丢掉一部分人眼不易察觉的信息,换来体积大幅下降,适合照片
- 有损格式会累积损失:每次打开 JPEG 再另存一次,都会再丢一层细节
- 需要多次编辑时,中途用 PNG 或源文件保存,最后一步再输出 JPEG
常见图片格式各自用哪种方式压缩
- JPEG:有损,照片的默认选择,不支持透明
- PNG:无损,支持透明,适合界面截图和线条图,拿它存照片体积会非常大
- WebP:有损和无损都支持,同等画质下通常比 JPEG 小,主流浏览器已经覆盖
- AVIF:以有损为主,压缩率更高但编码更慢,适合不常变动的图库
- GIF:无损但只有 256 色,只适合简单动图,不适合照片
什么时候该压缩,什么时候不该
- 该压缩:网页图片、邮件附件、有大小限制的上传表格和报名系统
- 该压缩:只在屏幕上看的照片,原始分辨率在手机上根本用不上
- 不该压缩:要印刷或大幅输出的图,先按输出尺寸重采样再决定
- 不该压缩:已经压过一次的 JPEG,再压一遍收益很小,画质损失却很明显
- 顺序是先改尺寸再压缩:长边砍掉一半,像素数量降到四分之一,这一步比调质量档位有效得多
新手最容易踩的四个坑
- 只看文件大小不看画质:压到 100% 放大还看得下去就够了,别追最小体积
- 用截图代替导出:截图锁死分辨率,也会丢掉原图的色彩信息
- 压完覆盖原图:永远留一份未压缩的主文件,压缩只做副本
- 不看实际传输量:浏览器开发者工具网络面板的 transferred 一栏,才显示读者真正下载了多少
想直接动手的话,image-compressor-saas.shop 在浏览器里完成压缩,图片不上传服务器。设定目标体积的做法见 /blog/compress-jpg-under-100kb,字节和加载速度的关系见 /blog/image-compression-affects-page-speed,先改尺寸再压缩的顺序见 /blog/resize-and-compress-image。
压缩图片会降低画质吗?
有损压缩一定会,无损压缩不会。JPEG 每次保存都会重新量化一次,反复保存会累积模糊和色块;PNG 解压后与原始字节完全一致。多数网页场景下把质量设在 75 到 85 之间,肉眼几乎分辨不出差别。
压缩和改尺寸是一回事吗?
不是。改尺寸减少像素数量,压缩减少描述这些像素所需的字节。想省体积就先改尺寸,这一步的收益比调质量档位大得多,两者还能叠加使用。
压缩后的图片还能恢复原样吗?
有损压缩之后不能。丢掉的信息没有备份,市面上号称能还原的工具只是补上看起来合理的细节,不是恢复。所以压缩之前一定留一份原图。
一张图压到多大才算合适?
看用途。网页正文配图长边 1200 到 1600 像素通常够用,社交媒体按平台给出的建议尺寸走,邮件附件按对方限制来。没有统一数字,从实际展示尺寸反推最稳。