APNG 转 GIF 转换器

作者 Calvin Sun

在浏览器中将 APNG(动画 PNG)转换为 GIF。尽量保留帧延迟,即时预览,并下载兼容性更好的 GIF。

点击选择 APNG 或 PNG 文件

或将 APNG/PNG 文件拖放到此处

GIF 编码设置

GIF 只支持二值透明。选择「保留透明」可尽量保留镂空区域;选择「纯色填充」则用指定颜色填满透明区域。

#ffffff

半透明边缘会先垫到该颜色上,再应用二值透明,有助于减少黑边或脏边。

采样间隔越小细节越多,但文件可能更大、编码更慢。

第一次播放之后还要重复多少次。「无限」会一直循环。

遵循 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 会结合垫色做近似。若需要不透明结果,可改选「纯色背景填充」并指定填充色。

背景 / 垫色选项有什么作用?

在「纯色填充」模式下,透明像素会替换成你选的颜色。在「保留透明」模式下,半透明边缘会先垫到该颜色上再写入透明键,有助于减少发黑或脏边。

可以控制 GIF 画质和循环吗?

可以。画质预设会在细节、体积与编码速度之间取舍。循环可选无限、只播一次、播放 3 次,或自定义额外循环次数。

静态 PNG 可以转成 GIF 吗?

可以。普通 PNG 会当作单帧动画导出为单帧 GIF;动画 APNG 则会保留全部帧与时间信息。

文件会上传到服务器吗?

不会。OmniGIF 使用浏览器本地处理:不上传、无水印,你的 APNG 不会离开当前设备。

为什么要把 APNG 转回 GIF?

GIF 在即时通讯、邮件客户端和旧浏览器中的播放支持仍然最广。当对方无法稳定播放 APNG 时,转成 GIF 更稳妥。

文件大小限制是多少?

每个 APNG 或 PNG 需小于 10MB。帧数很多的长动画在浏览器中编码可能更耗时。

支持哪些文件扩展名?

可上传 .apng 或 .png(image/png)。很多 APNG 仍使用 .png 扩展名,但内部包含动画块。

APNG转GIF - 将动画PNG转换为GIF