先想清楚:你真的需要 PNG 吗
很多人以为 PNG “比 JPG 清楚”,于是把照片转成 PNG,结果只得到一个大好几倍的文件,画质却一点没变。原因是 JPG 在拍摄或保存时已经做过有损压缩,丢掉的细节不会因为换了格式就回来。PNG 能做到的只是从现在起不再损失。
所以,JPG 转 PNG 真正有用的情况是:
- 还要继续编辑。 一张图要在多个软件之间来回修改、多次保存,每存一次 JPG 都会再损失一点,存成 PNG 就不会越改越糊。
- 做设计素材。 海报、PPT、课件里要叠加文字和图形的底图,先转成 PNG,后续导出时质量更稳定。
- 系统或软件只收 PNG。 有些小程序后台、表情包平台、打印服务或者设计工具,要求上传 PNG 格式。
- 截图类的 JPG。 文字和界面截图被存成了 JPG,后面还要在上面标注、裁剪,转成 PNG 可以避免标注的线条和文字周围出现噪点。
如果只是要把照片发给别人、上传到网站或报名系统,保留 JPG 就好。
JPG 和 PNG 的区别
| JPG | PNG | |
|---|---|---|
| 压缩方式 | 有损,体积小 | 无损,体积大 |
| 适合内容 | 照片 | 截图、图标、Logo、示意图 |
| 透明背景 | 不支持 | 支持 |
| 反复保存 | 每次都会损失一点 | 不损失 |
| 兼容性 | 几乎所有地方 | 几乎所有地方 |
转换时做了什么
图片先在浏览器的后台线程里解码,然后按照片里 EXIF 记录的方向把像素转正。手机竖着拍的照片,在有的软件里显示是横的,就是因为方向只记录在 EXIF 里;转成 PNG 后方向直接体现在像素上,不会再出错。然后重新编码成 PNG:600 万像素以内的图片用 oxipng 做额外的无损优化,更大的图片优先保证速度。转换后的文件不包含原照片的 GPS 位置、拍摄设备等信息。
文件太大怎么办
照片转成 PNG 后体积变大是正常的。如果需要透明背景、又想文件小,可以考虑 WebP:它同样支持透明,体积通常只有 PNG 的几分之一,请看 JPG 转 WebP。如果需要变回小文件,用 PNG 转 JPG 即可,或者直接用图片压缩压到指定大小。