如果 GIF 太大而無法傳送,可以將其分割成選定 moments 的 PNG 靜態影像,而 GIF Splitter 可在本地擷取高達 20 MB 的動畫 GIF。
這是一種變更格式的解決方案:輸入為動畫 GIF,輸出則是個別的完整畫布 PNG 影像。當收件者需要一個或多個靜態 moment 時,這個方法很適用。如果收件者需要的是動態本身,則應調整 GIF 的大小或最佳化它。
不要以為擷取每一個影格就會自動產生較小的訊息。總大小取決於你下載的 PNG,因此只選擇你打算傳送的影格,並檢查目的地的目前檔案大小限制。

在動畫修正方案與靜態影像之間選擇
應先依收件者需要的結果決定做法,而不是任意變更檔案。傳送失敗可能是檔案大小門檻、不支援的格式,或傳遞管道的限制所致,因此保留預期體驗與減少位元組數同等重要。
- 如果收件者必須觀看動畫,請調整原始 GIF 的大小或將其最佳化。
- 如果一張圖片就足以傳達,請擷取相關的可見影格並以 PNG 傳送。
- 如果需要一連串畫面但不需要動態效果,請依序下載幾張附編號的 PNG。
| 收件者需要的內容 | 實用做法 | 結果 | 重要限制 |
|---|---|---|---|
| 動態 GIF | 調整動態來源的大小或將其最佳化 | 動畫 GIF | 轉換後應檢查顏色、尺寸或播放品質。 |
| 單一靜態 moment | 分割 GIF 並下載一個影格 | 完整畫布 PNG | PNG 不含動畫。 |
| 數個依序排列的 moment | 分割 GIF 並下載所選影格 | 附編號的 PNG 檔案 | 分割工具提供個別下載,而非 ZIP 壓縮檔。 |
這種區分可避免一個常見錯誤:收件者明確要求動畫檔,卻傳送了一資料夾的靜態影像。當單一擷取的靜態影像就能完整傳達重點時,它也能避免不必要的品質降低。
為何每個 PNG 都是完整的可見影格
動畫 GIF 並不一定會為每個 moment 儲存完整圖片。編碼器通常只會儲存一個與前一張圖片不同的小矩形。其他區塊可能包含透明像素、要求顯示後清除目前矩形,或指示解碼器還原較早的畫布。
直接複製這些原始矩形會產生不完整或誤導性的影像。GIF Splitter 會將每個影像區塊套用至邏輯畫布,在正確時點處理前一個處置指令,並匯出產生的完整可見影格。因此,會動的貼圖或游標會變成一般 PNG,即使沒有較早的影格也能開啟。
- 影格編號依解碼後的 GIF 影像順序排列,並從 1 開始。
- 每個 PNG 都保留 GIF 的完整邏輯畫布尺寸。
- 頁面會以毫秒顯示解碼後的延遲時間,作為排序資訊。
- 在瀏覽器畫布保留透明度的位置,透明度也會維持透明。
顯示的延遲時間無法保證每個播放器或平台都有相同的播放效果,因為 PNG 本身不含動畫時間資訊。分割工具也不會裁切至變更區域、調整影像大小、將影格組合成聯絡表、繪製標籤或背景,亦不會重新編碼成新的動畫。
擷取所需的 PNG 影格
- 選擇動畫 GIF。 開啟 GIF Splitter 並選擇不超過 20 MB 的動畫 GIF。即使檔案符合此限制,仍可能超過收件者較低的傳送門檻,但超過分割工具限制的檔案無法由此工具處理。
- 開始擷取。 選擇 Extract PNG frames,並等待本地的合成作業完成。來源會在目前的瀏覽器分頁中解碼;不需要上傳至伺服器、建立帳戶或使用遠端轉換佇列。
- 檢視附編號的預覽。 頁面會列出每個可見的動畫影格,並附上預覽、影格編號、畫布大小、解碼後的延遲時間及個別下載連結。開啟相關預覽,並只下載你打算傳送的完整 PNG 影格。
- 檢查具代表性的輸出結果。 開啟下載後的第一張、中間一張及最後一張 PNG,再與原始動畫比較。應特別留意只有部分畫布發生變化的轉換效果。
輸出檔名會沿用來源檔名,並加上補零的影格編號,例如 animation-frame-01.png,有助於維持檔案的動畫順序。分割工具刻意提供個別 PNG 下載,而非建立 ZIP,因此只有收件者需要單一壓縮檔時,才將下載的檔案另行封裝。
在結果消失前進行檢查
擷取的檔案只會存在到你替換輸入檔、離開頁面或關閉分頁為止。離開輸出清單前,請先下載所需的影格。在檢查完成前,將來源 GIF 與所選 PNG 放在一起,也會使比較更容易。
大多數 GIF 都能正常合成,但微妙透明度、色彩管理差異或損壞的擴充資料,在目的應用程式中可能會呈現不同結果。分割工具無法復原瀏覽器解碼器無法讀取的影格、偵測重複的視覺影像、推斷哪個影格最實用、保留 GIF 註解或應用程式擴充功能,亦無法重建影片時間軸。
如果瀏覽器無法解碼提供的 GIF 或配置必要的畫布,操作就會停止,而不會產生損壞或標示錯誤的檔案。被拒絕的輸入會收到清楚的訊息,且頁面不會保留部分提交的影格清單。
遵守分割工具的處理限制
20 MB 的來源檔案上限只是工作流程的一部分。GIF 解碼可能將動畫檔展開成遠多於其儲存位元組大小的像素資料,因此畫布尺寸、每個影格的像素數、影格數及總處理工作量也會受到檢查。
| 檢查項目 | 可接受的限制或行為 | 實際影響 |
|---|---|---|
| 輸入類型 | 動畫 GIF | 所述擷取工作流程適用於動畫 GIF 輸入,而非靜態影像。 |
| 來源檔案大小 | 最高 20 MB | 較大的來源超出工具可接受的範圍。 |
| 畫布寬度與高度 | 每邊最多 4,096 像素 | 瀏覽器必須配置完整的邏輯畫布以進行合成。 |
| 單一影格中的像素數 | 最多三百萬像素 | 這是每個影格的上限,不代表可輸出不受限制的多影格結果。 |
| 影像影格 | 最多 50 | 較長的動畫可能超過可接受的影格數。 |
| 預先檢查 | 建立 PNG 前,會檢查補丁處理總量與輸出像素總數 | 處理量大的輸入可能會在產生任何下載清單前遭到拒絕。 |
這些安全措施可避免看似很小的 GIF 導致瀏覽器分頁配置不合理的畫布。它們也代表著,被拒絕的動畫應先依來源大小及其實際影格尺寸進行檢查,再尝試重新處理。
靜態影像無法勝任時,保留動畫
當收件者需要完整動作時,擷取出的 PNG 並不能取代動畫 GIF。這種情況下,請先檢查擷取的影格,再使用 GIF Resizer 或 GIF Optimizer 建立新的動畫 GIF。
請在目的環境中檢視轉換後的動畫,尤其是轉換效果與透明區域附近。使用前,請將結果檔案的大小與傳送限制進行比對。如果收件者可接受靜態影像,但單一擷取的 PNG 仍然太大,請先檢查擷取的影格,再使用相關的大小調整或最佳化工具。若要取得較小的輸出影像,請選擇 Image Resizer 或 Image Compressor。
使用簡單的決策清單
- 在動態與靜態影像之間做決定。 需要動畫表示應調整 GIF 的大小或將其最佳化;只需要單一 moment 則表示擷取一個 PNG。
- 確認分割工具能接受來源檔案。 檢查 20 MB 的檔案大小上限、畫布尺寸、每個影格的像素數及影格數。
- 在本地擷取並檢查。 等待合成作業完成、檢視附編號的預覽,並在傳送前開啟具代表性的下載 PNG。
- 只傳送需要的內容。 下載相關影格,而非所有輸出;如果收件者希望將 PNG grouped,請將它們另行封裝。
- 確認目的地能接受結果。 PNG 適用於靜態影像;當實際需求是會動的檔案時,請使用最佳化的動畫 GIF。
核心原則很簡單:當訊息可 以靜態影像傳送時,分割就能解決問題。當必須傳送的是動畫本身時,減少或重新編碼該 GIF 才是正確的工作流程。
相關閱讀:為網站調整 GIF 大小:尺寸與品質檢查。