文件格式

PNG - 可移植网络图形

PNG 是一种无损、真正支持透明度的图像格式,最初被创建为 GIF 的免费替代品。屏幕截图、徽标和导出的图表通常都会保存为这种格式。

.png

PNG 是 Portable Network Graphics(可移植网络图形)的缩写。它在 20 世纪 90 年代中期由开发者设计,用来替代 GIF,因为当时 GIF 使用的压缩方法受专利保护。最终诞生的是一种免费、文档完备的格式,可以逐像素无损保存图像,后来被万维网联盟和 ISO 采纳为标准。如今,你按下截屏键得到的图片、导出的 Logo,或者从电子表格中导出的图表,通常就是 PNG。

PNG 如何存储图像

PNG 是无损的:文件会被压缩,但不会丢弃任何数据,解码后可以精确还原每一个像素。它分两个阶段工作。首先,通过过滤步骤把每一行像素改写成与相邻像素的差值,把平滑区域变成大量很小的数字。然后使用通用压缩器来压缩这些数字,其方法与 ZIP 压缩包相同。

PNG 文件由一串带标签的数据块构成,称为 chunk。有三类是必需的:一类描述图像尺寸、颜色类型和位深,一类或多类承载压缩后的像素数据,最后一类标记文件结束。其他都是可选的,这也是该格式可扩展的原因。PNG 可以存储灰度、使用调色板的索引色,或每个通道 8 位或 16 位的真彩色,并且有真正的透明通道(alpha 通道),也就是说每个像素都可以完全不透明、完全透明或介于两者之间。这就是带有柔和边缘的 Logo 和界面图形通常使用 PNG 格式的原因。基础格式只包含一张静态图像;动画只通过后来的 APNG 扩展实现。

PNG 携带哪些元数据

元数据是与像素一起存储在文件中的描述性信息。PNG 将这些信息保存在可选的 chunk 中;文本既可以是普通文本,也可以被压缩,或标注语言标签,以便同一字段可以有多种翻译版本。

  • 已注册文本关键字是较为简单的一类,报告会按名称列出它们:Title、Author、Description、Copyright、Creation Time、Software、Source、Comment、Disclaimer 和 Warning。其中最常见的是 Software,因为大多数编辑器都会把自己的名称写入这个字段。
  • XMP 是 Adobe 基于 XML 的元数据标准,存放在带语言标签的文本 chunk 中。创作者、关键词、评分以及记录修改过该图像的程序的编辑历史通常就保存在这里。
  • EXIF 是相机元数据标准,不在最初的 PNG 规范中,后来作为独立的 chunk 被加入。因此,PNG 可以携带完整的相机信息块,包括 GPS 坐标,不过这通常只会出现在由照片转换而来的 PNG 中。
  • 颜色和显示相关的 chunk 也算作元数据:嵌入的 ICC 色彩配置文件、伽马值和色度值、背景颜色,以及记录每米像素数的物理分辨率 chunk,图像的 DPI 数值就来源于这里。

截图或导出的图形通常比相机照片暴露的信息少得多,但不要认为 PNG 就是匿名的。将 JPG 转换为 PNG 时,原有的 EXIF 和 GPS 数据可能会被完整带入。编辑器如果在首选项中填写了你的姓名,就会把它写入作者字段或 XMP 创作者字段。而 Software 和编辑历史记录会悄悄表明是哪个程序(有时还包括版本号)生成了该文件。

何时使用 PNG

当像素必须完全准确或图像需要透明时,请使用 PNG:如截图、示意图、图表、Logo、图标、纯色插画以及任何包含文本的内容。锐利的边缘会保持清晰,多次保存也不会降低画质。

与 JPG 相比,取舍很清楚。对于照片来说,PNG 通常会大几倍而在肉眼上没有明显提升,因此照片更适合使用 JPG 或 WebP、HEIC 等较新的格式。与 GIF 相比,在静态图像方面 PNG 完全占优:支持真彩色而不是 256 色,并且支持真正的部分透明而不是单一的透明色。GIF 唯一剩下的优势是可以做动画。