PNG 一直揹著"體積巨大"的罵名,而且這名聲不冤——一個圖示居然能比一整張照片還重。好訊息是,這些臃腫大多是浪費掉的,你可以把它剝掉,同時保留當初正是為它而選 PNG 的那些銳利邊緣和透明背景。

為什麼 PNG 這麼大

如何壓縮帶透明的 PNG(並保留透明) — visual 1
為什麼 PNG 這麼大

PNG 是一種無損格式。和 JPEG 不同,它什麼都不丟——每個畫素都精確儲存。這對銳利的 logo、圖示、介面截圖堪稱完美,但也意味著檔案必須老老實實地描述大量資料。

真正的元兇是色深。一張標準 PNG 最多能儲存 1600 萬種顏色(24 位),外加一個完整的透明通道。可你的 logo 大概只用了十幾種顏色,你的圖示集也許五十種。所有那些用不上的顏色容量,仍然要花位元組去隨時備著。你在為一張能畫 1600 萬色的畫布付費,而要畫的畫只需要二十種顏色。

還有第二個陷阱:有人把照片存成 PNG。照片確實用到幾百萬種顏色和細膩漸層,所以 PNG 壓不好它——檔案最終比同一張照片存成 JPEG 或 WebP 大出五到十倍。如果你的"PNG 問題"其實是一張照片,解決辦法是轉格式,而不是壓縮。

量化:既縮小又保住透明的解法

如何壓縮帶透明的 PNG(並保留透明) — visual 2
量化:既縮小又保住透明的解法

對真正的 PNG——純色塊、銳利邊緣、透明——制勝一招是顏色量化。不再儲存幾百萬種可能的顏色,而是把影象縮到精心挑選的 256 色調色盤。因為你的影象本來就只用了其中一小部分,所以結果看起來一模一樣,而檔案縮小 60–80%

大家擔心的那點:這會毀掉透明背景嗎? 不會。量化減少的是調色盤,而透明(alpha)通道會被保留。你的 logo 依然乾乾淨淨地疊在任何背景上——沒有白框,沒有灰邊。這正是知名的 "tinify" 類 PNG 最佳化工具用的技術,也是它們能把透明 PNG 縮得這麼狠的原因。

IMG.DIY 的圖片壓縮工具會自動對 PNG 做 256 色量化。你不用選質量數字——無損格式沒有質量滑塊——只要把檔案拖進去,就能得到一張小得多、透明完好的 PNG。

透明 PNG 的快速清單

  1. 先確認它真是圖形,而不是照片。 logo、圖示、插畫、介面截圖 → 當作 PNG 壓縮。照片 → 轉成 WebP(也支援透明)或 JPEG(不支援透明)。
  2. 裁掉過大的尺寸。 一個 2000px 的圖示顯示在 200px,用的畫素是所需的 100 倍。先設寬度上限——壓縮工具有個可選的寬度上限。
  3. 量化。 讓 256 色縮減挑大樑。透明會保住。
  4. 檢查邊緣。 放大到 100%,把 alpha 邊緣放在繁雜背景上看一眼,確認它們乾淨。

批次處理,保護隱私

如果你有一整套圖示集或一資料夾匯出的圖形,不必一張一張來。壓縮工具支援批次並返回 ZIP,而且絕不會輸出比原圖更大的檔案——所以一資料夾本已壓得很緊的 PNG 也不會意外變大。

一切都用 Canvas 和 WebAssembly 完全在你的瀏覽器裡執行。你的 PNG 從不上傳到任何地方,首次訪問之後工具就被快取,可以離線使用。在沒有訊號的火車上壓縮客戶的品牌素材,什麼都不會離開你的筆記本。

要點:PNG 之所以大,是因為它囤著你用不上的顏色容量。量化到 256 色,保住透明,看著檔案在看不出變化的情況下縮小。