恢复 GIF 全部显示帧
将 GIF 每个完整显示帧导出为 PNG,并保留原始延时、disposal、色表、循环声明与完整出处清单。
恢复帧前先选择画布背景
Tim 希望获得 GIF 各帧图像。T329 导出每个完整合成显示帧,而不只保存 GIF 中的小矩形补丁。选择原件后先确定背景政策再运行。
透明画布从透明开始,disposal2 将补丁区域清为透明。GIF 背景使用全局色表的背景色且不透明;没有全局色表时使用透明。此选择可能改变存储补丁外的像素。
保留全部帧与完整证据
下载 gif-frames.zip。受控编号路径保留顺序,区分延时或像素相同的帧。结果表分页展示全部帧,ZIP 还保存完整色表、补丁偏移、GCE 字段和原始评论。
| 产物 | 用途 | 保留范围 |
|---|---|---|
| original.gif | 保留来源 | 每个原始字节 |
| frames/frame-NNNN.png | 编辑完整显示帧 | 所选政策下完整逻辑画布 RGBA |
| gif-frames.json | 核对全部声明 | 全部色表、控制字段、偏移与散列 |
| gif-frames.csv | 检查每一帧 | 完整公式安全行 |
准确理解原始时间与 disposal
透明补丁像素不覆盖已有画面。Disposal0/1 保留,2 清除补丁矩形,3 恢复前画布。Disposal0 的 retain 选择不同于继承上个非0 disposal 的读取器。
每张 PNG 都是完整逻辑画布的 RGBA8,不经 Canvas 缩放或色彩变换。Alpha0 的隐藏 RGB 统一为零。原始延时按百分之一秒保留,包括零;不推断播放器最小延时、页面背景或全部查看器 RGBA。
使用具体示例
一份 8505 字节、61×47 的真实 Pillow 字典压缩 GIF。 8 张 PNG 显示帧、22936 累计像素、28 个原始百分之一秒、循环声明2,共11个 ZIP 成员。
明确的混合3→0→1原件由独立补丁解码和画布合成核对。其 retain 政策不同于 Pillow 整动画的 disposal 继承,不宣称与所有查看器相同。
同时应用所有预算并从拒绝中恢复
一份 GIF87a/89a,最多 10 MiB、500 帧,逻辑宽高各最多 2048,累计完整显示像素最多 16777216。小补丁也按整个逻辑画布计每帧像素。
一个 ZIP 包含 original.gif、全部 frames/frame-NNNN.png、gif-frames.json 和公式安全 gif-frames.csv。JSON/CSV 合计最多 4 MiB;100 MiB ZIP 防护上限受更严格的原件、像素和报告预算支配,不是可单独达到的输出承诺。
畸形、不支持或超过预算的输入不产生下载。取消会丢弃未完成产物。修正输入或选择支持的原件后重新运行;可以再次使用同一选中文件。
- 不跳过畸形帧,不交付部分 ZIP。
- 不上传、不预解码图像、不执行源元数据。
- 后续缩放、时序编辑或元数据清理时仍保留原件。
参考资料
- Tim / 原始 GIF 帧提取问题
完整问题、回答及两类评论已核对。Corey 的网页分帧使用自述独立署名;没有作者 GIF 原件、地区、市场规模或播放时序证据。
- GIF89a 规范
用于核对色表、LZW、图形控制、交错与 disposal。透明画布和 disposal0 retain 是明确导出选择,不代表全部查看器行为。
本分类工具使用说明
展开工具,查看操作步骤、可调选项和支持范围,再直接进入工作区。
提取 GIF 全部显示帧按明确背景政策将 GIF 每个合成显示帧恢复为完整画布 PNG,保留原始延时、disposal、原件和完整 JSON/CSV ZIP。
选择一份已有 GIF 和画布背景,恢复每个完整合成显示帧。全部 PNG、原始延时和 disposal 声明连同原件保存在完整 ZIP。
操作步骤
- 选择一份 GIF 原件并保留备份。
- 选择透明画布或 GIF 背景色。
- 运行后检查全部补丁、disposal 和原始延时行。
- 下载 ZIP 并打开完整画布 PNG;用 JSON/CSV 核对全部记录与散列。
可调选项
- 导出画布背景
- 透明画布 · GIF 背景色
能力与限制
- 一份 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 验证。