JPEG 与 PNG 对比:该选择哪种图片格式?
JPEG 与 PNG 解决的是不同的问题。JPEG 采用有损压缩,对照片很高效;PNG 采用无损压缩并带有 alpha 通道,适合图形、截图和透明背景。正确的选择取决于你的图像本身,而不是某个通用赢家。
没有一种格式在任何场景都胜出。请让格式匹配图像:照片且看重小文件时用 JPEG;图形、透明背景、文字以及需要再次编辑的母版用 PNG。请用下方的场景表逐例决定。
有损与无损:核心区别
JPEG 是有损格式。它的编码器将图像切分为小块,用离散余弦变换把每个块转换为频率分量,再对这些分量进行量化,永久丢弃人眼不易察觉的精细细节。因此解码 JPEG 永远无法完全还原原始像素。
PNG 是无损格式。它先做滤波再用 DEFLATE 压缩,解压时逐位还原原始采样。什么都不会丢弃,因此反复重新保存的 PNG 与首次保存完全一致。
这一区别决定了下文大多数取舍:JPEG 以放弃精确度换取小文件,而 PNG 以更大的照片文件为代价保证精确度。
透明度与 alpha
PNG 支持完整的 alpha 透明度:每个像素都可携带自己的不透明度,因此徽标可以干净地放在任意背景上,边缘平滑抗锯齿。这由 PNG 规范的颜色类型定义。
JPEG 完全没有 alpha 通道。任何必须带透明背景的图像——应用图标、水印、界面元素——都不能是 JPEG,这类情况需要 PNG(或 WebP)。
照片伪影与各自的强项
在照片上,JPEG 的取整误差会被平滑渐变和纹理掩盖,因此高质量 JPEG 看起来几乎与原图无异,同时保持小文件。这正是该格式设计要处理的内容。
在硬边缘、纯色块和文字上,同样的取整会表现为边缘处的块状效应和高对比线条附近的光晕。PNG 因为存储精确采样而完全避免这些伪影,这也是截图和图表用 PNG 清晰、用低质量 JPEG 发糊的原因。
反复编辑与世代损失
由于 JPEG 每次保存都会重新施加有损压缩,反复编辑并重新导出同一份 JPEG 会不断累积损失——这种现象常称为世代损失。每往返一次,颜色都会漂移,伪影不断堆积。
PNG 没有世代损失:重新保存每次都还原相同像素。如果某个文件是你会反复打开、微调并再次导出的工作母版,PNG 能保护它。请保留一份未处理的母版,只在需要最终小文件时才导出新的 JPEG。
截图与文字清晰度
截图主要由锐利的界面边缘、纯色填充和小号文字组成——恰恰是 JPEG 处理得最差的内容。即使高质量,JPEG 截图也会出现文字发糊、窗口边框附近振铃的现象。
PNG 让每个边缘和字符都保持像素精确,因此截图、代码片段和文档图片都清晰可读。任何包含可读文字的截取,PNG 都是更稳妥的默认选择。
属性对比
| 属性 | JPEG | PNG |
|---|---|---|
| 压缩方式 | 有损 | 无损 |
| 透明度 | 无 | 完整 alpha 通道 |
| 最佳内容 | 照片、连续色调 | 图形、文字、截图 |
| 反复重新保存 | 累积损失 | 质量不变 |
| 照片上的典型文件大小 | 较小 | 较大 |
| 解码器通用支持 | 是 | 是 |
印刷交付
印刷时,精确度和可预期的颜色比文件大小更重要,因此无损母版能避免压缩伪影残留到成品中。对于交付印刷厂的徽标和线条图,PNG 或其他无损格式是稳妥的选择。
用于印刷的照片通常以高质量 JPEG 或无损母版交付,具体取决于印刷厂的流程。请与印刷服务商确认格式和颜色要求,不要想当然,并始终保留一份无损原件备用。
实例:在 JPEG 与 PNG 之间选择
- 先问它是不是照片
如果是照片或写实渲染且看重文件大小,通常选 JPEG 更高效。如果是图形、截图或徽标,则优先选 PNG。
- 检查是否有透明度或文字
如果图像需要透明背景,或包含可读文字和锐利边缘,请选 PNG——JPEG 无法做透明,且会让文字发糊。
- 考虑是否还会再次编辑
如果这是你会反复打开、重新导出的工作母版,请保留为 PNG 以避免世代损失,仅在最终小体积交付时才导出 JPEG。
场景决策表
| 场景 | 推荐 | 原因 |
|---|---|---|
| 照片(photos) | JPEG | 有损压缩对连续色调很高效,取整误差会被渐变掩盖 |
| 徽标(logos) | PNG | 带 alpha 的无损保留锐利边缘和透明背景 |
| 截图(screenshots) | PNG | 精确像素让界面边缘和小号文字保持可读 |
| 网页交付(web delivery) | 两者皆可 | 照片用 JPEG,图形用 PNG;逐图选择,并可考虑将 WebP 作为现代选项 |
| 印刷(printing) | PNG 或无损母版 | 避免压缩伪影;请与印刷服务商确认所需格式 |
常见问题
- JPEG 和 PNG 哪个更好?
- 没有哪个通用地更好。照片且看重小文件时 JPEG 更好;图形、文字、透明背景以及需要再次编辑的母版则 PNG 更好。
- 哪种格式支持透明度?
- PNG 支持完整的 alpha 通道以实现透明背景。JPEG 没有透明度,需要透明时请用 PNG(或 WebP)。
- 把照片从 JPEG 转成 PNG 能恢复丢失的质量吗?
- 不能。JPEG 会永久丢弃细节。之后转成 PNG 只是把已经劣化的像素无损保存下来,无法恢复 JPEG 已移除的信息。
- 为什么我的截图存成 JPEG 会发糊?
- 截图包含锐利边缘和小号文字,会把 JPEG 的有损取整暴露为发糊和振铃。请把截图存为 PNG 以保持清晰。
- JPEG 和 PNG 哪个更小?
- 在照片上,JPEG 文件通常小得多,因为有损压缩丢弃了细节。在颜色很少的纯色图形上,PNG 可以与之相当甚至更小。
- 我应该保留 PNG 母版,最后再导出 JPEG 吗?
- 是的,这是个好流程。编辑无损 PNG 母版可以避免世代损失,只在最终交付且合适时才导出小体积 JPEG。