什么是 PNG?
PNG(便携式网络图形)是一种支持无损数据压缩和透明度的光栅图形文件格式。它作为 GIF 的改进、无专利替代品而创建,广泛用于网页图形。
快速了解
| 全称 | 便携式网络图形 |
|---|---|
| 创建时间 | 1996 年由 PNG 开发组创建 |
| 规范文档 | 官方规范 |
PNG 工作原理
PNG 于 1996 年开发,是对 GIF 格式专利问题的回应。它使用 DEFLATE 压缩来减小文件大小而不损失图像质量。PNG 支持各种颜色深度,包括 24 位 RGB 和 32 位 RGBA(带有用于透明度的 alpha 通道)。与 JPEG 不同,PNG 非常适合具有锐利边缘、文本和需要透明度的图形。该格式支持隔行扫描以实现渐进显示,并包含伽马校正以实现跨平台颜色一致性。
主要特点
- 无损压缩 - 不会降低质量
- 支持 alpha 通道透明度(32 位 RGBA)
- 比 JPEG 更适合图形、文本和锐利边缘
- 照片的文件大小比 JPEG 大
- 支持隔行扫描以实现渐进加载
- 不支持动画(与 GIF 不同)
常见用途
- 带透明度的网站图形
- 截图和屏幕捕获
- 带透明背景的徽标和图标
- 带文本和锐利边缘的图形
- 需要无损质量的图像
示例
PNG 文件结构:
┌─────────────────────────────────┐
│ PNG 签名 (8 字节) │
│ 89 50 4E 47 0D 0A 1A 0A │
├─────────────────────────────────┤
│ IHDR 块 (图像头) │
│ - 宽度、高度 │
│ - 位深度、颜色类型 │
├─────────────────────────────────┤
│ IDAT 块 (图像数据) │
│ - 压缩的像素数据 │
├─────────────────────────────────┤
│ IEND 块 (图像结束) │
└─────────────────────────────────┘
颜色类型:
0 = 灰度
2 = RGB(真彩色)
3 = 索引(调色板)
4 = 灰度 + Alpha
6 = RGBA(真彩色 + Alpha)