SVG vs PNG:向量圖片與點陣圖片的完整比較說明
SVG 與 PNG 解決不同問題。SVG 描述向量幾何,也能嵌入點陣;PNG 儲存固定像素格。選擇取決於來源作品、安全邊界、無障礙、編輯路徑、繪製方式與實測檔案大小。
SVG 與 PNG 的核心差異
SVG 與 PNG 的區別正是向量與點陣圖形的差異。
SVG 以 XML 為基礎,可描述形狀、路徑、文字、濾鏡、樣式與嵌入資源。向量部分在繪製尺寸重新描繪,但清晰度仍取決於幾何、筆畫、效果、像素對齊和嵌入點陣。
PNG 儲存固定像素格。放大需要重新取樣,可能柔化或像素化。若來源遠大於顯示空間,除非回應式候選讓瀏覽器挑選,否則會增加傳輸和解碼工作。
這項差異影響大小、縮放、編輯流程,以及各格式擅長的圖片類型。
何時使用 SVG
SVG 適合已審查的向量作品,前提是安全、無障礙、繪製和嵌入需求都已理解:
- 標誌 — 乾淨 SVG 可涵蓋多種繪製尺寸而不放大點陣;非常小的標記可能需要視覺簡化、筆畫調整或專用版本。
- 圖示 — UI、導覽和社群圖示可共用幾何與樣式。SVG 可能小於多個點陣解析度,但複雜路徑或內嵌重複也可能反轉結果。
- 插圖與圖表 — 乾淨線條與平面色彩。以文字表示的 SVG 文字可選取,但無障礙與索引需要正確標記和嵌入。
- 動畫 — 可用 CSS、JavaScript 或 SVG 機制製作。仍須檢查動態偏好、CPU、CSP、無障礙與互動複雜度。
- 網站圖示 — 目前主要瀏覽器可使用 SVG,但完整圖示組仍可能需要點陣或 ICO。用Favicon 產生器建立常見輸出。
SVG 受到目前瀏覽器與設計工具廣泛支援。普及不代表個別素材一定應是向量;請比較複雜度、安全、快取、無障礙與繪製。
何時使用 PNG
需要無損點陣像素或 Alpha,且結果符合大小預算時,PNG 是有力候選。
- 透明照片 — PNG 支援 Alpha 與無損像素,但細緻照片可能很大。接收端支援時比較 Alpha WebP/AVIF;不需透明時測試JPEG 與現代照片格式。
- 螢幕截圖 — PNG 可保留編碼像素;描述檔、中繼資料、縮放和調色盤轉換仍是不同問題。
- 多色複雜作品 — 無法簡化成乾淨向量形狀的數位畫、紋理與寫實插圖。
- 含文字點陣圖 — 需要像素精確文字邊緣時,PNG 可避免有損壓縮瑕疵。
檔案大小與效能比較
對圖示、標誌和簡單插圖而言,SVG 或點陣哪個較小取決於幾何、尺寸、重複、壓縮與快取:
| 圖形類型 | PNG 大小 | SVG 大小 | 節省比例 |
|---|---|---|---|
| 簡單圖示 | 每個候選一個點陣尺寸 | 向量幾何通常精簡 | 測量兩者 |
| 標誌 | 可能需要多種解析度 | 有向量來源時通常合適 | 測量兩者 |
| 圖示組 | 分離檔案會增加請求與位元組 | Sprite、外部與內嵌的快取成本不同 | 測量整頁 |
| 簡單插圖 | 隨像素尺寸與細節增加 | 隨路徑、樣式與濾鏡增加 | 取決於內容 |
Brotli 或 gzip 等文字壓縮可依標記與伺服器設定降低 SVG 傳輸量。請比較壓縮後傳輸位元組,而不只是磁碟檔案。
內嵌 SVG 省去請求,但增加 HTML 且無法獨立快取。外部 SVG 可快取。向量通常不需要密度版本,但複雜或含點陣的 SVG 可能需要回應式處理。請測量整頁。
照片和細緻紋理在追蹤時會產生過多幾何或失去細節。把點陣嵌入 SVG 只增加容器和常見的 base64,並不會變成向量。請使用 PNG、JPEG、WebP 或 AVIF。
SVG vs PNG 一覽對比
| 項目 | SVG | PNG |
|---|---|---|
| 圖片類型 | 向量(形狀與路徑) | 點陣(像素格) |
| 縮放 | 向量部分重新繪製;細節仍重要 | 固定格;放大可能柔化 |
| 透明度 | 是 | 是(Alpha) |
| 照片內容 | 通常不適合,除非嵌入點陣 | 無損 Alpha 選項;比較大小 |
| 圖示/標誌 | 有乾淨已審查向量來源時很強 | 在準備好的像素尺寸可用 |
| 動畫 | 是(SVG/CSS/JS) | APNG 擴充 |
| 程式碼編輯 | 是(XML) | 否 |
| 文字與無障礙 | 正確標記和嵌入時可行 | 需要周邊文字或等效 alt |
| 瀏覽器 | 目前主要瀏覽器;嵌入規則不同 | 非常廣泛 |
| 檔案大小 | 取決於幾何與標記 | 取決於尺寸與內容 |
實際範例:重新設計企業網站
假設企業網站有標誌、30 個導覽與功能圖示、主照片和多張產品截圖,可如此分配格式:
- 標誌 → 有乾淨向量來源時用 SVG;測試筆畫與小尺寸可讀性。
- 圖示組 → SVG sprite 或元件可重用幾何;驗證無障礙、快取、CSP 和傳輸標記。
- 主照片 → 以相同尺寸和可見品質測試 JPEG、WebP、AVIF,保留受眾需要的備援。另見圖片最佳化指南。
- 產品截圖 → 需要保留像素時從 PNG 開始,再比較其他無損候選與可接受的有損版本。
如何在 SVG 與 PNG 之間轉換
不用安裝軟體即可在瀏覽器轉換支援檔案。Vizua 在瀏覽器處理檔案,不送到影像伺服器;頁面服務仍可能使用網路:
- SVG 轉 PNG — 以可用比例點陣化支援的 SVG 並檢查結果
- 圖片向量化 — 將點陣追蹤成近似路徑;不會恢復原始向量幾何
- Favicon 產生器 — 從支援來源建立常見輸出
頁面尺寸與位元組預算請看圖片檔案大小指南。
常見問題
SVG 能完全取代 PNG 嗎?
不能。SVG 很適合圖形、圖示和插圖,但無法有效表示照片。照片嵌入 SVG 會非常大,追蹤成形狀又會丟失細節。向量內容使用 SVG,複雜點陣內容使用 PNG、JPEG 或 WebP。
SVG 在網站上安全嗎?
SVG 是主動式 XML,可包含指令碼、事件、外部參照、連結、CSS、濾鏡等。將不可信 SVG 視為程式碼:以允許清單驗證、用維護中的工具清理、以適當內容類型和隔離方式提供並套用 CSP。可信來源不能取代檢查。
為什麼 SVG 看起來模糊?
向量幾何可重新繪製而不放大點陣,但小數對齊、筆畫、濾鏡、轉換、反鋸齒、嵌入點陣或顯示器仍可能讓它變柔。檢查 viewBox、繪製尺寸、筆畫行為和點陣內容。
SVG 還是圖示字型?
SVG 常是好選擇,因為每個圖示可有無障礙名稱,裝飾圖示可隱藏,樣式也能限定。但它不會自動更快或更無障礙:內嵌會增加 HTML,外部 sprite 可快取,ARIA 必須正確。請比較系統需求。
可以把 PNG 轉成 SVG 嗎?
可以。Vizua 向量化工具把 PNG 或 JPEG 追蹤為近似 SVG 路徑。少量色彩、乾淨邊緣的標誌、圖示和簡單插圖效果最好,複雜照片則不適合。