使用方法
- 粘贴 Base64 字符串或 data:image/gif;base64 URI。
- 查看预览以及识别出的格式、尺寸和大小。
- 如果是 GIF 动图,请把下载格式设为“原始文件”以保留所有帧;如果是静态图片,保持 GIF 即可转换。
- 下载 .gif 文件。
Base64 中的 GIF 数据
GIF 文件以文本 GIF89a 或较早的 GIF87a 开头,编码为 Base64 后分别是 R0lGODlh 和 R0lGODdh,因此开头的六个字符 R0lGOD 是可靠的判断依据。Base64 GIF 常见于嵌入 CSS 的加载动画、邮件和网站统计中的透明追踪像素,以及聊天或论坛数据库中保存的表情动图。GIF 之所以常用于内嵌小图,是因为 1 × 1 的透明 GIF 是最小的有效图片文件之一,只有几十个字节。
如何保留动画
以原始格式下载时,解码后的字节会原样写出,所有帧、帧间隔和循环设置都会保留。所有转换输出都要先把图片绘制到画布上,而画布只能容纳一幅画面,因此转换时只保留第一帧,即使目标格式仍然是 GIF 也是如此。
GIF 转换如何处理颜色和透明度
- 256 色。每张 GIF 图片最多只能存储 256 种颜色。转换器使用中位切分法从图片本身选取调色板,对 Logo、图标和简单图形效果很好;照片和平滑渐变则可能丢失细微的色阶。
- 1 位透明度。每个像素要么完全透明,要么完全不透明,柔和的阴影和抗锯齿边缘会变成硬边。
如果色彩准确度或柔和的透明效果比 GIF 兼容性更重要,PNG 或 WebP 是更好的选择。
在命令行中只需一步即可解码:base64 --decode spinner.txt > spinner.gif。
常见问题
为什么 GIF 转换后不动了?
转换输出只包含第一帧。请把下载格式设为“原始文件”,按编码时的样子保存 GIF 动图。
为什么转换后的 GIF 有色带或颗粒感?
GIF 最多只能容纳 256 种颜色,照片这类色彩丰富的图片会被映射到最接近的调色板颜色。如需完整色彩,请使用 PNG 或 WebP。
半透明像素会怎样处理?
GIF 的透明只有“开”和“关”两种状态。每个像素会变成完全透明或完全不透明,柔和边缘周围可能出现锯齿。
怎样把 GIF 再转回 Base64?
请使用 GIF 转 Base64。使用原始文件进行编码,动画才会包含在字符串中。