這個頁面的程式碼沒跑起來。

直接從資料夾裡開啟 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 為什麼這麼大?」。

它免費嗎,需要註冊嗎?

免費,沒有帳號,不用登入,也沒有試用期。出來的檔案上同樣沒有水印。本站帶廣告,經費就是從那裡來的,廣告拿不到任何關於你圖片的資訊。

斷網能用嗎?

能。頁面載入一次之後斷開網路,它照樣運作。這也是證明「什麼都沒上傳」最省事的辦法,真要把你的圖片送出去處理,拔線那一刻就停了。