使用方法
- 貼上 Base64 字串或 data:image/gif;base64 URI。
- 檢視預覽以及識別出的格式、尺寸和大小。
- 如果是 GIF 動圖,請把下載格式設為「原始檔案」以保留所有幀;如果是靜態圖片,保持 GIF 即可轉換。
- 下載 .gif 檔案。
Base64 中的 GIF 資料
GIF 檔案以文字 GIF89a 或較早的 GIF87a 開頭,編碼為 Base64 後分別是 R0lGODlh 和 R0lGODdh,因此開頭的六個字元 R0lGOD 是可靠的判斷依據。Base64 GIF 常見於嵌入 CSS 的載入動畫、郵件和網站統計中的透明追蹤像素,以及聊天或論壇資料庫中儲存的表情動圖。GIF 之所以常用於內嵌小圖,是因為 1 × 1 的透明 GIF 是最小的有效圖片檔案之一,只有幾十個位元組。
如何保留動畫
以原始格式下載時,解碼後的位元組會原樣寫出,所有幀、幀間隔和迴圈設定都會保留。所有轉換輸出都要先把圖片繪製到畫布上,而畫布只能容納一幅畫面,因此轉換時只保留第一幀,即使目標格式仍然是 GIF 也是如此。
GIF 轉換如何處理顏色和透明度
- 256 色。每張 GIF 圖片最多隻能儲存 256 種顏色。轉換器使用中位切分法從圖片本身選取調色盤,對 Logo、圖示和簡單圖形效果很好;照片和平滑漸變則可能丟失細微的色階。
- 1 位透明度。每個像素要麼完全透明,要麼完全不透明,柔和的陰影和抗鋸齒邊緣會變成硬邊。
如果色彩準確度或柔和的透明效果比 GIF 相容性更重要,PNG 或 WebP 是更好的選擇。
在命令列中只需一步即可解碼:base64 --decode spinner.txt > spinner.gif。
常見問題
為什麼 GIF 轉換後不動了?
轉換輸出只包含第一幀。請把下載格式設為「原始檔案」,按編碼時的樣子儲存 GIF 動圖。
為什麼轉換後的 GIF 有色帶或顆粒感?
GIF 最多隻能容納 256 種顏色,照片這類色彩豐富的圖片會被對映到最接近的調色盤顏色。如需完整色彩,請使用 PNG 或 WebP。
半透明像素會怎樣處理?
GIF 的透明只有「開」和「關」兩種狀態。每個像素會變成完全透明或完全不透明,柔和邊緣周圍可能出現鋸齒。
怎樣把 GIF 再轉回 Base64?
請使用 GIF 轉 Base64。使用原始檔案進行編碼,動畫才會包含在字串中。