01各格式的真实差异
| 格式 | 透明通道 | 体积 | 兼容性 | 适合场景 |
|---|---|---|---|---|
| JPG | 不支持 | 小 | 最好 | 照片、需要上传到别人系统的图 |
| PNG | 支持 | 大 | 好 | 截图、带文字的图、需要透明背景 |
| WebP | 支持 | 很小 | 较好(现代浏览器全支持) | 自己网站的图片 |
| AVIF | 支持 | 最小 | 一般(较新浏览器) | 追求极致体积的自有站点 |
| HEIC | 支持 | 小 | 差(苹果生态外的支持有限) | iPhone 原生拍摄 |
| GIF | 支持(1 位) | 大 | 好 | 动图 |
HEIC 体积比同画质 JPG 小很多,技术上并不差,问题纯粹是「兼容性」——苹果生态外的支持一直不到位。所以 HEIC 转 JPG 是「为了兼容而接受体积变大」。
02场景一:iPhone 照片要发给别人 / 上传
- 1把 HEIC 文件上传到转换工具。
- 2选择输出为 JPG。
- 3如果目标是上传到有大小限制的系统,转换后接着做一次「按目标大小压缩」。
- 4下载转换结果。
更省事的办法是改 iPhone 设置:设置 → 相机 → 格式 → 选择「兼容性最佳」,之后拍照直接就是 JPG。代价是同样的存储空间能存的照片变少。
03场景二:给网站图片做体积优化
如果你在运营网站,格式选择直接决定加载速度。推荐策略:
- 照片类(产品图、风景、人像)→ WebP。相比 JPG 通常能再省 30% 以上体积
- 截图 / 带文字的图 → 保留 PNG 或转 WebP。千万不要转 JPG,文字边缘会出现彩色噪点
- 需要透明的图标 / Logo → PNG 或 WebP
- 动图 → 优先考虑转成视频(MP4/WebM)而不是 GIF,体积能差十倍以上
不要用「改扩展名」的方式伪造格式。把 a.png 改名为 a.jpg,文件内部的编码没变,浏览器仍按 PNG 解析。部分严格的系统会因扩展名与内容不符而直接拒收。
04场景三:截图和带文字图片的处理
截图是唯一一类「不能按照片方式压缩」的图。原因是截图的特征是大片纯色 + 锐利边缘,而 JPG 的压缩算法恰恰在锐利边缘上表现最差,会产生明显的彩色光晕(技术名称叫振铃效应)。
| 图片类型 | 推荐格式 | 原因 |
|---|---|---|
| 聊天记录截图 | PNG | 文字必须锐利 |
| 代码截图 | PNG / WebP | 避免彩色噪点影响可读性 |
| 数据表格截图 | PNG | 细线和高对比边缘 |
| 实拍照片 | JPG / WebP | 连续色调,有损压缩收益大 |
05关于「无损转换」的真相
很多人问「有没有无损转换」。要区分两种情况:
- PNG ↔ WebP ↔ AVIF:这几者都支持无损模式,理论上可以做到像素级完全一致。
- HEIC / JPG 转 PNG:转为 PNG 是无损的(不会变得更差),但不会恢复已经被有损压缩丢掉的信息。一张 JPG 转成 PNG,体积变大了,画质并没有变好。
- 反复转换:每经过一次有损格式转换,都会累积一次损失。所以尽量一步转到位,不要 JPG → WebP → JPG 这样来回折腾。
「把 JPG 转成 PNG 就变成无损原图了」是一个常见误解。PNG 只是「不再继续损失」,不能让已经损失的细节回来。
06批量转换的注意事项
- 1先确认所有文件的目标格式一致,避免混合处理导致部分文件用错参数。
- 2批量前先拿一张代表性图片试转,确认参数与结果符合预期,再跑全量。
- 3保留原始文件。转换是有损过程时,原图是唯一的退路。
- 4转换后抽查几张,而不是只看第一张。不同内容的图片,压缩结果差异可能很大。