这个页面的代码没跑起来。

直接从文件夹里打开 index.html,浏览器会拦下 JavaScript 模块,于是你选好图片之后,页面不会有任何反应。改用 http 把这个文件夹提供出去:

powershell -ExecutionPolicy Bypass -File serve.ps1

然后打开 http://localhost:8080/。

GIF 制作 — 把图片做成动图

把一组图片变成一段动画。

语言: 简体中文
查看源码
你的图片在浏览器里处理,无须上传处理。

每一帧都由你自己的浏览器绘制、量化和压缩,做好的 GIF 也是在这台机器的内存里拼起来的。就算这里有什么东西想把图片送走,页面的另一端也根本没有服务器可以接。

实时检查: 检查中…

离线: 检查中…

不用信我们说的。打开开发者工具,盯着“网络”面板,做一个 GIF 试试。没有哪个请求带上图片、缩略图,或者文件名。嫌麻烦就直接拔掉网线,照样做。

1 选择图片

2 GIF 设置

颜色数 颜色越少,文件越小,色带越明显。

抖动 做 logo、线稿和截图时把它关掉。

添加图片后就能看到预览

帧数
—
时长
—
画面尺寸
—
播放
—

3 做出 GIF

以 Markdown 查看

用图片做 GIF 的步骤

  1. 选好你的图片。把一个文件夹拖到选择框里,或者自己挑文件。浏览器直接从磁盘上读,这期间没有任何东西发往别处。
  2. 按播放顺序排好。抓住把手拖动,或者用箭头。“按名称排序”是按你以为的方式数数的,所以 frame_2 会排在 frame_10 前面。
  3. 定下每一帧停多久。每张半秒是幻灯片,二十分之一秒就是动画了。可以一次给所有帧同一个时长,也可以单独让某一张多停一会儿。
  4. 选尺寸,并决定颜色怎么挑。GIF 的体积随面积和帧数一起涨,而且没有画质滑杆能把它拉回来,所以尺寸才是最要紧的那个设置。每帧 256 色最好看,也是默认值;共用一套调色板则更小、更稳。
  5. 做出 GIF,然后下载。它是在你自己的硬件上拼出来的,所以花多久取决于你的机器,而不是排队。做好的动画会先在页面上放一遍,然后你再保存。

说得更细的版本

怎么用图片做一个动图 GIF 把一组图片变成一个动图 GIF:GIF 到底能放多快、调色板那个选项改的是什么,以及真正能让文件变小的三件事。

常见问题

我的图片会被传到哪里去吗?

不会。你的图片由你自己的浏览器在你自己的硬件上读取、绘制、量化和压缩。这个工具没有服务端,页面的 Content-Security-Policy 里写着它允许联系的每一个地址,没有一个属于本站。拔掉网线,它照样做 GIF。

能用哪些图片格式?

凡是你浏览器能解码的静态图片格式都行,实际上就是 JPG、PNG、WebP、GIF、AVIF,在苹果设备上还有 HEIC。这里没有另外一份需要维护的清单,因为解码是浏览器的活,不是我们的。

我的 GIF 为什么这么大?

因为 GIF 把每一帧都当作完整像素来存。没有运动补偿,没有“和上一帧一样、只是挪了个位置”这种存法,也没有画质旋钮:体积大约就是面积乘帧数,能把它压下来的只有三件事。

做小一点:尺寸减半,文件就只剩四分之一。少用几帧,或者让每一帧停久一点。降到 64 色或 32 色,并关掉抖动——对平涂画面来说这代价比听上去小,对照片来说则很大。要是还塞不下,老实说,你在做的其实是视频,同样的内容做成 MP4,大概只有十分之一大。

GIF 最快能放多快?

没有那个数字看上去那么快。这个格式把每帧的停留时间按百分之一秒来存,而从九十年代起,浏览器就把小于两个百分之一秒的值一律抬到十分之一秒。这条规矩是为当年那些转动的地球图写的,后来一直没删。所以 0.01 秒并不会按每秒 100 帧来播,而是每秒 10 帧。正因如此,这个工具不提供低于 0.02 秒的选项,而 0.05 秒(每秒 20 帧)差不多就是值得去要的上限了。

调色板这个设置改的是什么?

GIF 的一帧最多装 256 种颜色,总得有人来挑这 256 种。

每帧各自最合适的颜色会给每一张图单独挑 256 种,看起来最清爽,一组互不相干的照片就该这么选。整个 GIF 共用一套调色板则把所有帧放在一起,只建一张表。文件更小,而且能消掉同一场景各帧之间调色板来回跳所造成的闪烁,所以当这些帧是一段连续画面而不是一堆合集时,就选它。

能保留透明背景吗?

能,只要你的图片本身有:把“透明”改成“保留透明区域”。不过动手前有件事得知道。GIF 的透明只有一位,一个像素要么完全看不见,要么完全画上去,中间没有过渡,所以抗锯齿的边缘、柔和的阴影,以及任何渐隐的东西,都会变成硬边。要是你的动画会放在一个你已知颜色的背景上,那把它压到那个颜色上会更好看。

能用的图片张数有上限吗?

工具里没有写死的上限。真正的天花板是你机器的内存,以及你对出来那个文件大小的耐心:图片是一张一张读的,所以一百帧没问题,但 640 像素的一百帧同样是个非常大的 GIF。见上面的“我的 GIF 为什么这么大?”。

它免费吗,需要注册吗?

免费,没有账号,不用登录,也没有试用期。出来的文件上同样没有水印。本站带广告,经费就是从那儿来的,广告拿不到任何关于你图片的信息。

断网能用吗?

能。页面加载一次之后断开网络,它照样干活。这也是证明“什么都没上传”最省事的办法,真要把你的图片送出去处理,拔线那一刻就停了。