SuperAPI AI 工具集

lovstudio-png2svg

设计与创作

查看项目

更新于 10-15 08:19

技能介绍

PNG to SVG Skill 用于将 PNG 图片转换为高质量矢量 SVG,并支持去除白色背景。

用途 当用户需要将 PNG 图片转换为 SVG 时使用本技能。

工具链 完整流程为:PNG → magick(去白底 + alpha 阈值)→ vtracer(样条曲线)→ svgo(压缩)→ SVG。

  • ImageMagick(magick):去除白色背景并做 alpha 阈值处理。
  • vtracer:样条曲线矢量化,相比 potrace 更平滑。
  • svgo:SVG 路径压缩优化。

输入参数

  • INPUT_PNG:输入 PNG 文件路径(必需)。
  • OUTPUT_SVG:输出 SVG 路径(默认:同名 .svg)。
  • KEEP_BG:是否保留背景(默认 false,即去除白色背景)。

执行步骤 Step 1 预处理(去白底):若 KEEP_BG=false,执行: magick INPUT_PNG
-fuzz 15% -transparent white
-channel A -threshold 50% +channel
INPUT_PNG.temp.png

Step 2 矢量化: vtracer --input INPUT_PNG.temp.png --output OUTPUT_SVG
--mode spline
--filter_speckle 8
--color_precision 8
--corner_threshold 120
--segment_length 6
--path_precision 5

Step 3 压缩优化: npx svgo OUTPUT_SVG -o OUTPUT_SVG --multipass

Step 4 清理: rm -f INPUT_PNG.temp.png

输出 返回生成的 SVG 文件路径,并报告文件大小。 示例输出格式: ✓ PNG → SVG 转换完成 输入: {INPUT_PNG} 输出: {OUTPUT_SVG} 大小: {file_size}

依赖 首次使用前需安装: brew install imagemagick cargo install vtracer npm install -g svgo # 或使用 npx

参数调优

  • filter_speckle:过滤小斑点,调大后效果更干净。
  • corner_threshold:角点阈值,调大后更平滑。
  • segment_length:线段长度,调大后更平滑。
  • color_precision:颜色精度,调大后更准确。

限制 资料的介绍与描述均未提供关于收费、价格、支持平台、效果保证等其他信息。