提取 GIF 全部显示帧
按明确背景政策将 GIF 每个合成显示帧恢复为完整画布 PNG,保留原始延时、disposal、原件和完整 JSON/CSV ZIP。
- 1添加输入
- 2调整设置
- 3获取结果
工具输入和文件在当前浏览器处理,不会上传。
开始之前
选择一份已有 GIF 和画布背景,恢复每个完整合成显示帧。全部 PNG、原始延时和 disposal 声明连同原件保存在完整 ZIP。
如何使用
- 选择一份 GIF 原件并保留备份。
- 选择透明画布或 GIF 背景色。
- 运行后检查全部补丁、disposal 和原始延时行。
- 下载 ZIP 并打开完整画布 PNG;用 JSON/CSV 核对全部记录与散列。
支持范围与限制
一份 GIF87a/89a,最多 10 MiB、500 帧,逻辑宽高各最多 2048,累计完整显示像素最多 16777216。小补丁也按整个逻辑画布计每帧像素。
支持全局/局部色表、普通/四遍交错图像、完整 LZW、disposal0/1/2/3 及一份 NETSCAPE2.0 循环声明。原始评论字节完整保存在 JSON 的十六进制字段。
透明画布从透明开始,disposal2 将补丁区域清为透明。GIF 背景使用全局色表的背景色且不透明;没有全局色表时使用透明。此选择可能改变存储补丁外的像素。
透明补丁像素不覆盖已有画面。Disposal0/1 保留,2 清除补丁矩形,3 恢复前画布。Disposal0 的 retain 选择不同于继承上个非0 disposal 的读取器。
每张 PNG 都是完整逻辑画布的 RGBA8,不经 Canvas 缩放或色彩变换。Alpha0 的隐藏 RGB 统一为零。原始延时按百分之一秒保留,包括零;不推断播放器最小延时、页面背景或全部查看器 RGBA。
Plain Text、未知扩展/application、用户输入/保留标志、disposal4–7、非法色表索引、畸形 LZW、截断与尾随垃圾都整体拒绝,不交付部分 ZIP。
一个 ZIP 包含 original.gif、全部 frames/frame-NNNN.png、gif-frames.json 和公式安全 gif-frames.csv。JSON/CSV 合计最多 4 MiB;100 MiB ZIP 防护上限受更严格的原件、像素和报告预算支配,不是可单独达到的输出承诺。
文件只在本地处理,不上传、不抓取 URL、不执行用户内容。请保留原件:这是图像恢复,不是元数据清理、动画编辑或通用 GIF 验证。
操作示例
示例输入
一份 8505 字节、61×47 的真实 Pillow 字典压缩 GIF。
示例参数
透明画布。
示例输出
8 张 PNG 显示帧、22936 累计像素、28 个原始百分之一秒、循环声明2,共11个 ZIP 成员。
出现问题时
畸形、不支持或超过预算的输入不产生下载。取消会丢弃未完成产物。修正输入或选择支持的原件后重新运行;可以再次使用同一选中文件。
常见问题
为什么导出像素可能与 GIF 查看器不同?
画布由所选背景政策和明确的 disposal0 retain 选择决定。有些读取器继承先前的非0 disposal,播放器可能钳制延时或采用外部页面背景;本站不声称这些行为。
循环值和原始时间能复现播放吗?
不能。缺少 NETSCAPE2.0 时完整报告记录 null;其中零表示无限循环声明。原始百分之一秒与累计值描述源元数据,不是浏览器墙钟时间或保证的播放器重复次数。