PNG 是什么?和 JPG、GIF 有什么区别,什么时候该用 PNG
PNG 是一种无损压缩的位图图片格式,最大的特点是支持透明背景、边缘清晰、反复编辑不损失画质。需要透明、截图、图标、线条图或像素图时选 PNG;照片、追求小体积时选 JPG;简单动画用 GIF。下面把三者的差别和选择条件讲清楚。
PNG 的核心特点
PNG(Portable Network Graphics)用无损压缩保存图像:解压后得到的像素和保存前完全一致,不会像 JPG 那样在压缩时丢掉细节。它支持 alpha 通道,也就是每个像素除了颜色还能记录透明度,可以做半透明、渐变透明和干净的不规则边缘。
代价是文件体积。同样的照片,PNG 通常比 JPG 大很多,因为无损压缩对色彩连续、噪点多的照片效率不高。
PNG、JPG、GIF 对比
| 维度 | PNG | JPG | GIF |
|---|---|---|---|
| 压缩方式 | 无损 | 有损 | 无损(但受调色板限制) |
| 透明 | 支持 alpha,可半透明 | 不支持 | 支持 1 位透明(要么全透要么不透) |
| 颜色 | 真彩色,数百万色 | 真彩色 | 最多 256 色 |
| 动画 | 不支持(动图用 APNG 是另一回事) | 不支持 | 支持 |
| 适合 | 截图、图标、线条图、像素图、需要透明的图 | 照片、色彩丰富的大图 | 颜色简单的短动画 |
| 体积 | 照片类偏大 | 照片类偏小 | 取决于帧数和颜色数 |
什么时候该用 PNG
- 需要透明背景:Logo、贴纸、叠加在别的图上的元素。
- 截图和界面图:文字、按钮边缘要保持锐利,JPG 会在边缘产生模糊和色块。
- 图标、线条图、图表:颜色块少、边界明确,PNG 体积可控且清晰。
- 像素图和复古游戏素材:像素必须一个不差地保留,无损是硬要求。
- 需要反复编辑的中间稿:每次存 JPG 都会再损失一次,PNG 不会累积损失。
什么时候不该用 PNG
- 照片、风景、人像这类色彩连续的大图:JPG 体积小得多,肉眼差别有限。
- 网页上只追求加载速度、又不需要透明的大图:优先 JPG 或更现代的格式。
- 需要动画:GIF 更通用;颜色多、质量要求高的动画,GIF 的 256 色会成为瓶颈。
和复古像素字体场景的关系
在 Arcade Font Writer 这类工具里,用经典街机字体(如 Capcom、SNK、Taito、Namco 等作品中的字体风格)生成文字图像时,输出通常需要保留像素边缘和透明背景,这正是 PNG 的典型用途:像素不能被有损压缩糊掉,透明背景方便叠加到其他画面上。如果只是发一张不透明的预览图,JPG 也能用;但只要涉及抠图、叠加或像素级还原,PNG 更合适。
常见卡点
- 把照片存成 PNG 后发现体积暴涨:这是正常现象,换 JPG。
- 以为 PNG 一定比 JPG 清晰:两者都能保存清晰图像,差别在压缩方式和透明支持,不在“清晰度”本身。
- 需要半透明却用了 GIF:GIF 只有全透或不透,边缘会有锯齿,改用 PNG。
- 需要动画却用了 PNG:普通 PNG 不支持动画,换 GIF 或其他动画格式。