什么是 GIF?
GIF(图形交换格式)是 CompuServe 于 1987 年开发的位图图像格式,支持最多 256 种颜色和动画。它广泛用于网络上的短动画、表情包和简单图形。
快速了解
| 全称 | 图形交换格式 |
|---|---|
| 创建时间 | 1987 年由 CompuServe 开发 |
| 规范文档 | 官方规范 |
GIF 工作原理
GIF 使用 LZW(Lempel-Ziv-Welch)无损数据压缩来减小文件大小而不损失质量。该格式每帧限制为 256 种颜色的调色板,使其不适合照片,但非常适合具有纯色的图形。GIF 最显著的特点是支持通过存储在单个文件中的多个帧来实现动画。它还支持透明度(但仅支持二进制透明,不支持 alpha 通道)。尽管有 WebP 和 APNG 等更新的替代方案,GIF 因其通用支持和在互联网交流中的文化意义而仍然流行。
主要特点
- 每帧限制为 256 种颜色
- 支持多帧动画
- 使用 LZW 无损压缩
- 支持二进制透明度(开/关)
- 通用的浏览器和平台支持
- 动画文件大小比现代替代方案大
常见用途
- 动画表情包和反应图
- 简单的网页动画和横幅
- 社交媒体内容
- 加载动画和指示器
- 短视频片段和屏幕录制
示例
GIF 结构:
┌─────────────────────────────────┐
│ 文件头: GIF89a │
├─────────────────────────────────┤
│ 逻辑屏幕描述符 │
│ - 宽度、高度 │
│ - 全局颜色表标志 │
├─────────────────────────────────┤
│ 全局颜色表(可选) │
│ - 最多 256 种 RGB 颜色 │
├─────────────────────────────────┤
│ 图形控制扩展 │
│ - 延迟时间、处理方式 │
├─────────────────────────────────┤
│ 图像数据(每帧) │
│ - LZW 压缩的像素数据 │
├─────────────────────────────────┤
│ ...(更多帧) │
├─────────────────────────────────┤
│ 结束符: 0x3B │
└─────────────────────────────────┘
动画提示:保持帧数在 50 以下以获得合理的文件大小