GIF 转 PNG
把 GIF 文件拖到下方,即可得到 PNG 文件。转换在你自己的设备上完成,因此不会上传,除了浏览器内存上限之外没有任何大小或数量限制。
把图片拖到这里
Ctrl/⌘ V粘贴截图或复制的图片
支持 GIF
数值越低文件越小。照片用 75 通常就够。
100% 本地处理 文件不会被上传。
为什么要把 GIF 转成 PNG?
转换后的 PNG 文件会比原来的 GIF 更大。这是换取 PNG 更广的兼容性和更简单的解码所要付出的代价。
PNG 是无损格式,转换不会引入任何新的压缩失真。GIF 文件中保留下来的细节会被原样搬过去。
PNG 是大多数图像编辑器和设计工具默认期待的格式。当这个文件接下来还要继续编辑、而不是直接放上网页时,选它更实际。
GIF 是 1987 年的格式,靠一个别人长期没有的特性活了下来:它会动。作为静态图它则被全面超越 —— 装不下超过 256 种颜色,透明也做得粗糙。把一张静态 GIF 转成 PNG,几乎总是能力上的升级,只是和所有转换一样,它无法补回源文件从未拥有的东西。
转换之前
256 色的天花板已经烙在里面了,不会消失
GIF 保存的是一份最多 256 色的调色板,在文件生成时就定死了。源图里所有平滑渐变当初都已经用抖动近似过 —— 就是天空和阴影上那种斑斑点点的颗粒感。PNG 能装一千六百万色,但过来的只有 256 种。抖动的图案会作为画面的一部分被忠实地搬过来。
锯齿边缘不会变平滑
这一条最让人意外。GIF 的透明是每个像素一个开关 —— 要么完全可见、要么完全消失,中间没有任何过渡,这就是 GIF logo 边缘那种台阶状锯齿的由来。PNG 有真正的 8 位 alpha 通道,256 级半透明,完全有能力做出平滑边缘。但转换只会把源文件里存在的那两种状态搬过来。想要柔和的边缘,得在编辑器里重新抠一次;换格式不会替你做这件事。
动画停在第一帧
如果 GIF 是动的,你会拿到它的第一帧。而那一帧往往不是你会挑的那一帧 —— 很多动画的开头是一片空白或接近空白。如果你想保留动作,动态 WebP 是现代的对应物,那需要的是另一类工具,而不是静态图转换器。
会保留下来的
- 全部 256 色,精确保留
- 透明区域,仍是二值的
- 继续编辑而不再损失的余地
过不来的
- 第一帧之后的动画
- 通常还有体积 —— PNG 可能更大
GIF 与 PNG 对比一览
| 属性 | GIF | PNG |
|---|---|---|
| 压缩方式 | 无损 | 无损 |
| 透明通道 | 支持 | 支持 |
| 典型文件大小 | 约为同等 JPEG 的 200-400% | 约为同等 JPEG 的 300-500% |
| 兼容性 | 几乎所有软件都能打开,包括很老的程序 | 几乎所有软件都能打开,包括很老的程序 |
| 常见来源 | 为减小页面体积而优化的网站 | 截图、logo 和图形素材 |
常见问题
我的 GIF 文件会被上传到哪里吗?
不会。解码器和编码器是运行在本页面内的 WebAssembly 模块。首次使用某种格式时,网络面板可能会显示编解码器下载,但没有任何请求会包含你的文件。在支持离线缓存的浏览器中,用过一次的编解码器会被缓存,之后同类转换可以断网完成。
有文件大小或数量限制吗?
我们不设任何限制。实际上限取决于你设备的内存,因为转换过程中图片需要以未压缩形式驻留内存。在普通笔记本上,一亿像素以内的图片通常都能顺利转换。
转成 PNG 会损失画质吗?
PNG 是无损格式,所有像素都会被完整保留。代价是文件通常比原图更大——这正是保留全部数据要付出的成本。
手机上能用吗?
可以。同样的 WebAssembly 模块在移动浏览器上也能运行。由于手机 CPU 较弱,转换会比桌面端慢,超大图片也更容易触及内存上限。
GIF 动图会怎么处理?
只有第一帧会被转换。PNG 是静态图片格式,剩下的帧无处安放。如果你需要保留动画,那应该找视频转换工具,而不是静态图片转换。
为什么转出来的 PNG 比原图还大?
PNG 是无损格式,它必须精确保存每一个像素,而不是近似表示。对照片而言,这通常意味着文件会比有损原图大上几倍。PNG 的价值在于截图、logo、线稿以及任何需要透明的场合,而不是照片。