工具 PNG 轉 SVG

PNG 轉 SVG 轉換器 - 把圖片描摹成向量路徑

把扁平 logo、圖示或線稿變成與解析度無關的 SVG。描摹在目前標籤頁本地完成,檔案不會離開你的裝置。

  • 不上傳、不註冊
  • 輸出可繼續編輯的向量圖
  • 轉換前先告訴你適不適合描摹

PNG 轉 SVG 到底做了什麼

PNG 存的是一格一格的畫素,SVG 存的是形狀 —— 由座標和曲線描述的填充輪廓。所以 PNG 轉 SVG 並不像 PNG 轉 JPG 那樣只是換個格式:畫素網格里根本沒有記錄一個形狀在哪裡結束、下一個從哪裡開始。轉換器必須自己推斷出來,辦法是把顏色相近的畫素歸成區域,再沿著每個區域畫一圈輪廓。這個推斷過程叫描摹,也叫向量化,它成不成功幾乎完全取決於圖裡畫的是什麼。

成功的時候,結果比你手上的原檔案更好。輪廓與解析度無關,同一份素材在名片、網頁頁頭和印刷橫幅上都一樣銳利,而扁平圖形往往還比點陣圖原圖更小。我們自己的實測裡,一個 2.3 KB 的 logo 變成了 0.5 KB 的 SVG,只由兩條路徑構成,在正常觀看尺寸下與原圖的差別看不出來。

失敗的時候,敗得一點也不含蓄。照片沒有任何可以歸併的平坦區域:每個畫素都與鄰居略有不同,於是描摹器會產出上千條細碎路徑,加起來比原來的 JPEG 還重好幾倍,看上去卻像一張畫砸了的水彩。所以這個轉換器會先檢查圖片,在你花時間調引數之前就告訴你屬於哪種情況。

哪些圖片轉 SVG 效果好

這是實測出來的,不是拍腦袋。每張測試圖先描摹,再把得到的 SVG 按原尺寸柵格化回點陣圖,然後逐畫素與原圖比對。誤差越小,說明向量圖越接近原圖。

扁平 logo,純色不多 2.3 KB 的 PNG 變成 0.5 KB、2 條路徑的 SVG;誤差 2.1 最理想的情況。用「扁平圖形」的 16 色即可。
圖示或象形符號 只有寥寥幾條路徑,遠小於 1 KB 同樣理想。用「極簡」能拿到最小檔案,且看不出損失。
線稿或手寫簽名 描摹得很乾淨;單色輸入下顏色數帶不來可測量的差別 用「極簡」—— 多給的顏色只增加體積,在這裡毫無幫助。
帶透明背景的徽章或印章 1.1 KB,透明區域完整保留;誤差 6.8 效果不錯。顏色數保持 8 或以上,否則色調會偏。
含文字的介面截圖 面板和按鈕描得不錯,但每個字母都會碎成好幾條路徑 圖形部分可用。文字請在設計工具裡重新排一遍。
照片 會量化出成千上萬種顏色;SVG 比 PNG 還大好幾倍 不適合。保留點陣圖,或者改用壓縮更合適。

工具會在你自己的圖片上自動跑一遍這個檢查,並在 PNG 轉 SVG 真正開始之前給出結論,讓你提前知道,而不是下載完才發現拿到一個沒法用的檔案。

每個設定各自管什麼

一次 PNG 轉 SVG 的描摹開放了四個設定,但它們的重要性並不對等:其中一個決定結果品質,其餘屬於微調。

顏色數

允許描摹器使用多少個調色盤條目,也是影響最大的一個設定。8 是下限:再低,彩色圖形就會出現肉眼可見的失真。我們的實測中,同一個扁平 logo 在 8 色時誤差為 2.1,4 色時漲到 15.1,2 色時高達 56.9。而 8 以上曲線很快就平了,所以預設值定在 16,32 是留給精細插畫的,並不是「推薦拉滿」的意思。

丟棄細碎圖形

把面積小於某個閾值的路徑直接扔掉,用來清理抗鋸齒邊緣留下的碎點。在真實素材上,我們幾乎測不出最低值與最高值之間的差別,所以它是一個進階選項,而不是預設會去改的引數。如果描摹結果發麻發花,就把它調高。

曲線容差

描出的輪廓允許偏離畫素邊緣多遠。容差放寬,曲線更少更順、檔案更小;容差收緊,則會亦步亦趨地跟著原圖的每一級臺階走,包括那些鋸齒。預設會把它和顏色數一起設定好。

預模糊

在描摹之前先把圖片柔化一點。對有噪點的掃描件有用,能避免描摹器把膠片顆粒或 JPEG 壓縮痕跡變成幾百條路徑。素材本身就乾淨的話,保持 0 即可。

怎麼把 PNG 轉成 SVG

全部過程都在目前這個標籤頁裡完成。沒有任何內容被上傳,這一點對尚未釋出的品牌素材、以及任何受保密協議約束的檔案都很關鍵。

  1. 把 PNG 拖到工具上,或者從裝置裡選一張。JPG、WebP、GIF 同樣接受。
  2. 看一眼適用性結論。「很適合描摹」意味著這是能描得很乾淨的扁平圖形;「不適合描摹」意味著這張圖偏照片,轉出來的 SVG 會比原圖更大、還原度更低。
  3. 選一個細節程度,或者展開進階設定,自己控制顏色數、細碎圖形丟棄、曲線容差和預模糊。
  4. 點「轉換為 SVG」,把描摹結果和原圖預覽對照著看。
  5. 下載 SVG。它就是普通的標記文本,可以用 Figma、Illustrator、Inkscape 或任意文本編輯器開啟。

什麼情況下 PNG 轉出來會不好看

照片是最明顯的失敗案例,這一點值得直說,因為相當多的 PNG 轉 SVG 嘗試恰恰用錯了檔案。描摹的原理是尋找同一種顏色的區域,而照片裡一個這樣的區域也沒有:風景照裡的天空看著均勻,實際上包含幾百種細微不同的藍,描摹器會一絲不苟地把每一種都勾出輪廓。結果就是檔案極其龐大、渲染緩慢,而且明顯比照片本身還難看。如果你要的是更小的照片,那就去壓縮它,不要拿去向量化。

文字是第二個常見的失望來源。字形會被描成形狀而不是文字,所以結果既不能選中、也搜不到,更不能再當作字型去改。小號文字還要更糟,因為抗鋸齒會把描摹器所需要的那條邊界糊掉,每個字母都會碎成好幾條互相重疊的路徑。如果 logo 裡含有文字部分,誠實的做法是隻在這裡描摹圖形符號,文字則回到設計工具裡用真正的字型重新排。

柔和漸變和投影處在兩者之間。它們轉換起來不會報錯,但平滑的漸變會變成一疊平色色帶 —— 就是你把一張照片壓到十六色時會看到的那種斷層。這有時是種好看的效果,有時則直接毀掉設計,所以請按原尺寸看預覽,不要只盯著檔案體積下判斷。

最後,任何描摹器都無法還原源圖本來就沒有的細節。從網頁上扒下來的 64 畫素 logo,描出來只會是它自己坑坑窪窪的近似版本,因為那些坑窪確實就是畫素所表達的內容。請從你能找到的最大、最乾淨的副本開始 —— 用原始匯出而不是截圖,用 PNG 而不是 JPG,因為 JPEG 壓縮會引入自己的塊狀邊緣,而描摹器會一本正經地把它們也變成路徑。

常見問題

轉出來的 SVG 還能繼續編輯嗎?

可以。輸出的是由填充路徑構成的標準 SVG 標記,能用 Figma、Illustrator、Inkscape 以及任意程式碼編輯器開啟。你可以單獨給某條路徑改色、刪掉它,或者整體縮放而不損失任何畫質。

SVG 會比 PNG 更小嗎?

扁平圖形通常會,而且往往小得很明顯 —— 我們測試裡一個 2.3 KB 的 logo 描摹後只有 0.5 KB。照片則相反:SVG 可能比原圖大好幾倍,這也正是適用性檢查所依據的訊號之一。

我的圖片會被上傳到伺服器嗎?

不會。描摹器是以 WebAssembly 和 JavaScript 的形式在這個頁面內部、在一個後臺 worker 裡執行的。你的檔案不會被髮送到任何地方,因此尚未釋出的 logo 和客戶稿件都可以放心處理。

照片可以轉成 SVG 嗎?

技術上可以,但結果幾乎必然比照片本身更差:會產出上千條路徑、檔案大得多,觀感上還會出現色彩斷層。工具會在轉換之前就把偏照片的圖片標出來,所以這個結果不會讓你意外。

為什麼我圖片裡的文字轉歪了?

因為描摹把字形看作形狀而不是文字。小號或經過抗鋸齒的字型,每個字元都會碎成多條路徑。建議只在這裡描摹圖形元素,文字回到設計工具裡用真字型重新排一遍。

這和人工重新描一遍有什麼區別?

人工重描會用盡可能少的乾淨曲線、配上正確的字型來重建整個設計。描摹則是跟著畫素走,因此錨點更多,而且會繼承源圖裡的一切模糊。對簡單的扁平 logo,兩者差別往往看不出來;但對複雜或低解析度的標識,人工重描仍然更好。

支援轉換哪些檔案格式?

PNG、JPG、WebP、GIF 都接受,因為圖片會先由瀏覽器解碼再交給描摹器。其中 PNG 是最好的起點,因為它沒有壓縮痕跡,不會被描摹器誤當成細節。

透明背景會被保留嗎?

會。透明區域在 SVG 裡仍然是透明的,所以描摹出來的徽章或貼紙放在任何背景色上都能正確顯示。

還是在處理點陣圖?這些工具同樣在瀏覽器裡執行。 圖片格式轉換 · 圖片壓縮

🔒 我們重視你的隱私

ShotEdit 的大多數工具都在你自己的裝置上處理圖片,檔案不會被上傳。AI 工具是例外:它們透過加密連線上傳,並在任務結束後立即刪除檔案。每個上傳區上方的徽標會告訴你目前工具用的是哪一種方式。

在你的瀏覽器內處理 · 不會上傳