APNG 转 GIF 转换器
作者 Calvin Sun
在浏览器中将 APNG(动画 PNG)转换为 GIF。尽量保留帧延迟,即时预览,并下载兼容性更好的 GIF。
点击选择 APNG 或 PNG 文件
或将 APNG/PNG 文件拖放到此处
GIF 编码设置
GIF 只支持二值透明。选择「保留透明」可尽量保留镂空区域;选择「纯色填充」则用指定颜色填满透明区域。
半透明边缘会先垫到该颜色上,再应用二值透明,有助于减少黑边或脏边。
采样间隔越小细节越多,但文件可能更大、编码更慢。
第一次播放之后还要重复多少次。「无限」会一直循环。
遵循 gif.js:0 表示无限。自定义时请输入首次播放后的额外重复次数(0–100)。
关于 APNG 转 GIF
- • 将动画 PNG(APNG)转为可广泛兼容的循环 GIF
- • 尽可能保留原始帧延迟时间
- • 可自定义透明度处理、背景填充色、画质与循环次数
- • 全部在浏览器本地处理,保护隐私
GIF 每帧最多约 256 色,复杂 APNG 可能会被量化。半透明边缘在 GIF 中可能看起来不同;可设置匹配的垫色或改用纯色填充。
什么是 APNG 转 GIF?
APNG 转 GIF 会把动画 PNG 变成经典 GIF 循环。当你需要更广兼容性,同时仍以高质量 APNG 为源时很有用:
"APNG 是 PNG 的扩展,在保持与非动画 PNG 解码器向后兼容的同时,增加了对动画图像的支持。"— Mozilla APNG 规范
- 在只支持 GIF 的渠道复用 APNG 素材
- 尽可能保留原始帧时序
- 下载前先预览结果
- 在浏览器中私密处理文件
- 同时支持动画 APNG 与静态 PNG
APNG 更适合画质;GIF 仍是日常兼容性最广的交换格式。本工具连接两者。
APNG 如何变成 GIF
转换在浏览器本地按以下流程完成:
"图形交换格式(GIF)定义了一种用于在线传输与交换光栅图形数据的协议。"— W3C GIF89a 规范
- 解码: 读取 APNG/PNG 字节,并将每一帧展开为完整 RGBA。
- 计时: 从 APNG 元数据收集每帧延迟,用于播放节奏。
- 透明度: 可保留二值透明,或用自定义背景色填充透明区域;柔边会使用你设置的垫色。
- 量化: 按所选画质,在编码阶段将颜色映射到 GIF 友好的调色板。
- 编码: 按循环设置将各帧组装为动画 GIF89a 文件。
- 下载: 预览 GIF 并保存到你的设备。
解码与编码都在本地运行,动画无需离开当前浏览器标签页。
何时使用 APNG 转 GIF
常见使用场景包括:
- 即时通讯: 在 GIF 播放比 APNG 更可靠的应用中分享循环动画。
- 邮件营销: 嵌入在较旧邮件客户端中也能正确打开的动画。
- 兼容回退: 在高质量 APNG 之外再提供 GIF 备选。
- 设计交付: 把 APNG 预览转成 GIF,方便干系人查看。
- 素材归档: 将混用的 PNG/APNG 来源统一为可分享的 GIF。
更看重覆盖面时选 GIF;更看重画质与 alpha 时保留 APNG。
获得更干净 GIF 的实用建议
以下建议有助于让转换后的 GIF 更清晰、体积更可控:
- 尽量从调色板适中的 APNG 开始
- 面向网页分享时避免极长帧序列
- 需要叠图时选「保留透明」,需要不透明结果时选「纯色填充」
- 垫色尽量接近 GIF 最终放置的背景,可减少边缘脏色
- 细节多时选高画质;追求速度时选低画质
- 在意体积时,优先使用纯色而非大面积渐变
- 上传到目标平台前先预览 GIF
APNG 能保留更多细节,只有在需要 GIF 兼容分发时再转换。
常见问题 - APNG 转 GIF
什么是 APNG 转 GIF?
APNG 转 GIF 会读取动画 PNG,提取每一帧的完整 RGBA 像素与延迟,再编码为 GIF89a 动画,以便在几乎所有浏览器和应用中播放。
转换成 GIF 后颜色会一样吗?
不一定。APNG 可保存 24 位色与完整透明通道,而 GIF 通常每帧使用最多 256 色调色板。颜色丰富或渐变较多的 APNG 量化后可能出现色带。
透明度会保留吗?
选择「保留透明」时会尽量保留镂空区域。GIF 只支持二值透明,柔和的 APNG Alpha 会结合垫色做近似。若需要不透明结果,可改选「纯色背景填充」并指定填充色。
静态 PNG 可以转成 GIF 吗?
可以。普通 PNG 会当作单帧动画导出为单帧 GIF;动画 APNG 则会保留全部帧与时间信息。
文件会上传到服务器吗?
不会。OmniGIF 使用浏览器本地处理:不上传、无水印,你的 APNG 不会离开当前设备。
文件大小限制是多少?
每个 APNG 或 PNG 需小于 10MB。帧数很多的长动画在浏览器中编码可能更耗时。