PNG

PNG格式详解 — 无损压缩与透明背景

整理了 PNG 格式的诞生背景(GIF 专利问题)、从 1996 年 W3C 建议到 2025 年第三版(HDR·APNG·EXIF)的历史、无损压缩原理与数据块结构、透明度,以及用于照片时体积变大的原因。

扩展名.png
MIMEimage/png
标准W3C 建议(1996)· ISO/IEC 15948 · 第三版(2025)
压缩无损(行过滤 + Deflate)
透明度支持(8·16 位 Alpha 通道)
动画APNG(第三版正式纳入)
色深每通道 1·2·4·8·16 位

PNG(Portable Network Graphics)诞生于 1990 年代中期,目的是避开 GIF 所用 LZW 压缩的专利问题,同时提供比 GIF 更好的功能。它在 1996 年成为 W3C 建议,之后又被标准化为 ISO/IEC 15948。2025 年 6 月,距第二版(2003 年)22 年之后的修订版 PNG 第三版 作为 W3C 建议发布,正式将动画 PNG(APNG)、HDR 色彩信息和 EXIF 数据块纳入标准。

压缩原理

PNG 是完全不改变像素值的 无损 格式。它先对每一行应用过滤器,把像素值变成“与左侧、上方像素的差值”这类容易预测的数值,再用与 zip 同类的 Deflate 算法压缩。同一种颜色大面积重复时,差值会连续为 0,因此能压缩得非常小;而像照片这样每个像素值都略有不同的图像,则几乎压缩不了。

如果把颜色减少到 256 色以下、以调色板方式(索引色)保存,可以大幅减小体积。但这一过程本身是减少颜色的有损操作,所以请记住:即使结果是 PNG,也已与原图不同。

文件签名与数据块结构

PNG 文件总是以 8 字节签名(十六进制 89 50 4E 47 0D 0A 1A 0A)开头。之后是称为 数据块(chunk) 的单元,每个数据块由长度、类型(4 个字符)、数据和 CRC 校验值组成。

数据块作用
IHDR宽高、位深、颜色类型
PLTE调色板(索引色时)
tRNS调色板·单色图像的透明信息
IDAT压缩后的像素数据(可拆分为多个)
eXIfEXIF 元数据(第三版正式纳入)
cICPHDR 等色彩空间信息(第三版新增)
acTL · fcTL · fdATAPNG 动画控制与帧(第三版正式纳入)
IEND文件结束

它的设计是忽略不认识的辅助数据块,因此即使加入新功能,老旧程序也能打开文件。不支持 APNG 的看图软件只显示第一帧,也正是得益于这种设计。

透明度

PNG 可以为每个像素设置 0~255(16 位时为 0~65,535)级的 Alpha 通道,就连半透明的阴影和发丝边缘也能自然呈现。这就是它被用作保存抠图图片、Logo 和图标的标准格式的原因。

优点与局限

  • 最适合文字、线条、图表:边缘保持清晰,体积也常常比 JPG 小。
  • 反复保存也无损:适合作为编辑过程中的中间文件。
  • 用于照片效率低:同一张照片的体积会是 JPG 的好几倍。
  • APNG 支持:据 Can I use,Chrome 59、Firefox 3、Safari 8 起支持,不支持的程序只显示第一帧。

主要用途

屏幕截图、Logo 与图标、透明背景图片、图表与曲线图、编辑用原图。印刷店要求无损文件时也会使用。

转换为其他格式时

  • PNG → JPG:透明部分需要用背景色填充。把截图转成 JPG 时文字周围可能会模糊,请把质量设高一些(将 PNG 转为 JPG)。
  • PNG → WebP:转成无损 WebP 往往能在保留透明度的同时减小体积。Google 公布无损 WebP 平均比 PNG 小 26%。
  • PNG → ICO:需要网站图标或 Windows 图标时,可以 将 PNG 转为 ICO。最好使用正方形的原图。
  • 16 位 PNG:浏览器 Canvas 以每通道 8 位处理,因此用网页工具转换 16 位原图时会降为 8 位。

更新日期: 2026-09-23

参考来源

← 返回格式百科