GIF逐帧播放器
上传GIF文件,逐帧播放、倒放和定位动画画面,并查看帧延迟或将当前帧下载为PNG图片。
GIF文件与播放设置
本地处理- 文件名
- —
- 文件大小
- —
播放方向
帧间隔
毫秒
透明区域预览背景
当前帧与时间轴
等待文件
上传
解析
合成
逐帧查看
尚未载入GIF
选择文件后,这里会显示完整合成帧和逐帧时间轴。
/ 0
当前帧
—
选择GIF后显示帧延迟
- 逻辑尺寸
- —
- 单次总时长
- —
- 循环信息
- —
- 处置方式
- —
请选择一个GIF文件开始。
GIF帧是怎样被还原的
- 读取结构识别GIF版本、逻辑画布、调色板和扩展块。
- 解码像素使用LZW规则解压每个图像块的颜色索引。
- 合成完整帧按透明索引、帧位置和处置方式合成可见画面。
- 控制播放根据原始或统一延迟驱动时间轴,并允许逐帧跳转。
了解更多
使用方法与快捷键
- 选择或拖入一个GIF文件,等待浏览器完成本地解析。
- 使用播放方向、帧间隔、时间轴或帧序号定位画面。
- 确认当前帧后,可下载透明PNG或复制帧信息。
当焦点不在表单控件中时,可用空格播放或暂停,左右方向键切换帧,Home和End跳到首帧或末帧。
帧延迟和处置方式
GIF图形控制扩展以百分之一秒记录帧延迟。原始延迟为0时,本工具显示0毫秒,但播放器按100毫秒调度;1至19毫秒按20毫秒调度,以避免不可操作的高速播放。
处置方式决定下一帧绘制前如何处理当前帧区域:保留、恢复背景或恢复上一状态。当前帧PNG使用合成后的完整逻辑画布,而不是只导出局部图像块。
格式边界与异常情况
- 仅接受GIF87a或GIF89a文件,不处理APNG、WebP动画或视频。
- 文件最大30MB,逻辑尺寸最大4096×4096像素,帧数最多1000帧。
- 逻辑画布像素与帧数乘积超过2500万时会停止,以避免当前设备内存不足。
- 浏览器、操作系统和显示刷新率可能使极短帧延迟的视觉播放略有差异。
常见问题
为什么显示延迟与播放延迟可能不同?
GIF允许0或很短的帧延迟,但浏览器通常会钳制极短间隔。本工具保留原始值,同时显示用于播放器调度的实际延迟。
怎样把GIF中的某一帧保存为图片?
在时间轴或帧序号输入框定位目标帧,然后点击“下载当前帧PNG”。下载的是已按处置方式合成后的完整画面。
上传的GIF会发送到服务器吗?
不会。文件通过浏览器File API读取,解析、合成、预览和PNG导出都在当前设备完成。
隐私、方法与来源
本工具不上传文件、不调用第三方运行接口、不写入URL或本地存储。只有在用户点击复制或下载时,浏览器才会使用剪贴板或创建本地文件。
解析依据为GIF89a格式规范,帧预览与PNG导出使用浏览器Canvas API。核心GIF解析与LZW解码为独立实现,未随工具分发第三方运行库。