SVGCode 是一個將位圖圖像(如 JPG、PNG、GIF、WebP、AVIF 等)轉換為 SVG 矢量圖形的工具,它是一個漸進式 Web 應用程序(PWA),并且是開源的 。SVGCode 的主要功能是通過使用 WebAssembly 版本的 Potrace 工具,將像素圖像轉換為可縮放的矢量圖形,從而實現高質量的圖像矢量化。此外,SVGCode 還支持多種高級功能,如顏色通道調整、創建彩色或單色矢量藝術、修改筆觸寬度等 。
SVGCode官網入口網址:https://svgco.de/

SVGCode 的實現基于 Peter Selinger 開發的 Potrace 命令行工具,該工具被轉換為 WebAssembly,以便在瀏覽器中運行。轉換后的 SVG 文件會通過 svgo 庫進行自動優化,以減少文件大小并提高性能。SVGCode 還利用了多種現代 Web API,包括文件系統訪問 API、異步剪貼板 API、文件處理 API 和窗口控件覆蓋自定義功能,以提供更流暢的用戶體驗。這些 API 的使用使得 SVGCode 不僅可以在網頁上運行,還可以通過 Microsoft Store 在 Windows 上安裝 。
SVGCode 的用戶界面友好,支持多語言,并且可以進行簡單的調整。它不僅是一個在線工具,還可以通過 GitHub 克隆、安裝依賴、啟動應用、處理代碼修改和創建拉取請求等步驟進行開發和貢獻 。對于開發者來說,SVGCode 是一個很好的學習和實踐項目,因為它結合了多種現代 Web 技術和圖形處理算法。
SVGCode 還支持將 SVG 代碼轉換為 PNG 文件,這在某些應用場景中非常有用。例如,Java 中可以通過 convertToPng 方法將 SVG 代碼轉換為 PNG 文件,并直接輸出到流中 。此外,SVGCode 還可以與Mermaid API 結合使用,以在網頁上動態生成和展示 SVG 圖形 。這些功能使得 SVGCode 不僅適用于圖像轉換,還可以用于創建交互式圖表和圖形。
SVGCode 是一個功能強大且靈活的工具,它不僅能夠將位圖圖像轉換為 SVG 矢量圖形,還可以通過多種方式與開發者和用戶進行交互。