跳到主要內容

← 返回部落格

如何縮放圖片又不失真?

「縮放不失真」是常見的願望——而誠實的答案取決於你往哪個方向縮放。縮小幾乎無損;放大則違反物理。以下教你兩種方向都拿到最好的結果。

這件事我們自己測過。 這裡是最讓人意外的部分。從 1200 px 縮到 800 px 寬,像素少了 56%,可是我們的檔案只小了 15% 到 50%。照片大約腰斬(1.88 MB → 967.2 KB),截圖卻只讓出 15%——它的成本在那些銳利邊緣,而縮小並不會讓邊緣消失。 看完整實測數據

縮小(降取樣):基本免費

把圖片的像素變小很乾淨。軟體會平均鄰近像素,結果仍銳利——這是安全的日常情況。手機拍的 4000 像素照片,縮到你頁面實際只顯示的 1200 像素,不但好看還載入更快。

畫質上幾乎免費,但位元組上不成比例 —— 而落差很大。從 1200 px 縮到 800 px 寬去掉了 56% 的像素,但四張測試圖掉的幅度天差地遠:照片 1.88 MB → 967.2 KB(-50%)、平面插畫 34.7 KB → 28.8 KB(-17%)、透明標誌 28.8 KB → 17.2 KB(-40%),而介面截圖只有 18.0 KB → 15.3 KB(-15%)。截圖的位元組花在銳利邊緣上,而縮小不會讓邊緣消失。

縮小在位元組和在品質上都幾乎是免費的,而這兩件事很容易被混在一起。我們的測試照片通過圖片縮放是 1.88 MB → 967.2 KB(-50%):

測試圖輸入輸出變化
照片1.88 MB967.2 KB-50%
螢幕截圖18.0 KB15.3 KB-15%
插畫34.7 KB28.8 KB-17%
帶透明的標誌28.8 KB17.2 KB-40%

那些數字是「像素被丟掉」,不是「品質被交換」—— 每一個輸出像素仍然是真實輸入像素的平均。對照壓縮工具對同一張照片:它保留了每一個像素,靠丟掉像素內部的細節做到 178.7 KB(-46%)。方向一樣、機制完全不同,而且只有其中一個可以靠「從原檔重新匯出」還原。

放大(升取樣):困難的部分

把圖片放到比原圖更大,無法無中生有補回沒拍到的細節。內插只是把既有像素拉伸,邊緣會變糊或出現方塊。因應方式:

  • 能不放大就別放大——從更高解析度的原檔開始。
  • logo 或圖示?改用向量——把 PNG 描摹成 SVG,就能放到任何尺寸都完美。
  • 照片可用專門的 AI 放大工具,效果比單純縮放好(但較重)。

拿到最銳利的縮放結果

  • 縮到你會顯示的確切尺寸——別更大。
  • 鎖定長寬比,圖才不會被拉扁。
  • 若也要更小的檔案,先縮放再壓縮。

在瀏覽器本機做,不上傳

結論:縮小能保住畫質;放大無法還原畫質。 從大圖開始、縮到剛好,logo 要放大時就改用向量。

向量與點陣:真正的分水嶺

縮放會不會傷畫質,取決於你手上是哪種圖。

  • 點陣圖(PNG、JPG、WebP)是固定的像素網格。放大時根本沒有多餘細節可顯示,所以會糊。
  • 向量圖(SVG)以數學方式儲存——點、線、曲線——因此在任何尺寸都能完美重繪。logo、圖示與簡單插圖屬於這一類;照片沒辦法做成向量。

如果 logo 一再需要放大,別再縮放那張 PNG,一次把它描摹成 SVG。

這也是「為了省空間而縮圖之前,先看你手上是哪種圖」的實務理由。照片寬度砍一半我們拿到 -50%;同樣做在截圖上只有 -15%。如果目標是更小的檔案而不是更小的尺寸,壓縮通常是更好的槓桿。

放大為何會糊:重採樣

每次縮放都會重採樣像素網格——用內插從舊像素重新算出每個新像素:

  • 最近鄰——最快,但有方塊感;只適合像素藝術。
  • 雙線性/雙三次——平滑漸變;雙三次是常見預設。
  • Lanczos——縮小有細節的照片時最銳利。

縮小時有真實像素可平均,所以能保持清晰。放大則得憑空生出中間的像素,而生出來的細節總是偏糊。這就是為什麼「放大強化」只在電影裡有用。

先裁再縮

若你只需要圖的一部分,先裁切出來再縮小。先裁能把最多的真實像素留在你要的區域,而不是把解析度浪費在稍後會丟掉的部分。

匯出格式與品質權衡

格式最適合備註
JPG照片有損;品質 80–85% 是甜蜜點
PNG平面圖形、透明無損,檔案較大
WebP兩者皆可比 JPG/PNG 小,支援廣泛
AVIF兩者皆可最小,支援較新
SVGlogo、圖示向量,可無限縮放

同一張 JPG 一存再存會讓壓縮損失層層累積(「世代損失」)。縮放一次,再以目標品質匯出一次。不確定選哪種?看網頁最適合的圖片格式。

這也回答了「我該用什麼格式匯出」。先縮放再壓縮嚴格優於反過來:在 967.2 KB 的時候,縮放器已經把壓縮器本來要花位元去編碼的那些像素移除掉了。反過來做,等於付錢去編碼一些細節,然後讓縮放把它們平均掉。

常見問題

縮放一定會降畫質嗎?

不會。縮小能保住畫質——你丟掉的是原本用不到的像素。放大才會降,因為多出來的像素是猜的。

哪種格式最能保住畫質?

照片用高品質的 WebP 或 AVIF;平面圖形或需要透明用 PNG;任何需要縮放的東西用向量 SVG。