SuperAPI AI 工具集

vectorize

设计与创作

查看项目

更新于 10-15 21:49

技能介绍

用途:把 PNG/JPG 位图转成忠实、干净的 SVG 矢量图,面向扁平/矢量风格作品(吉祥物、Logo、插画、图标),运行环境为 Apple Silicon macOS。

主要能力:scripts/vectorize.py 执行一条流水线——按模式选择引擎(color 用 vtracer;mono 优先 potrace,缺失时回退 vtracer 灰度;auto 为启发式);可选背景移除(--transparent 边缘洪水填充,--global-key 全局色键);用调优的 vtracer 参数描摹;通过 npx 的 svgo --multipass 优化(约缩小一半,不可用时跳过);用 cairosvg 回渲染出 <name>.check.png 供人工核对(不可用时跳过)。支持单文件或目录批量(匹配 .png/.jpg/*.jpeg)。

使用方式:先装 uv(brew install uv),可选 npx/svgo、potrace(brew install potrace)、cairo(brew install cairo)。首次运行自动用 uv 在技能目录 .venv/ 建 Python 3.12 虚拟环境并装 vtracer、pillow、cairosvg,之后复用。示例:python3 scripts/vectorize.py mascot.png;python3 scripts/vectorize.py mascot.png -o out/ --transparent;python3 scripts/vectorize.py ./assets/ -o ./svg/;python3 scripts/vectorize.py logo_bw.png --mode mono。常用参数:--mode color|mono|auto(默认 color)、--filter-speckle N(默认 6)、--color-precision N(默认 7)、--no-optimize、--no-verify。

适用场景:扁平/矢量风格插画、吉祥物、Logo、图标、线稿的矢量化与批量转换。

限制:背景移除两种策略均非普遍正确,需查看 .check.png;--global-key 会抹掉与背景同色的内部区域(如奶白眼睛),浅色背景上有白色眼睛/牙齿/高光时应避免;--transparent 只移除与边缘相连的背景,封闭空隙仍不透明。vtracer 在 Python 3.14 上会段错误(exit 139),脚本固定用 Python 3.12 虚拟环境规避,勿直接用系统 Python 运行;若出错可删除 .venv/ 重建。uv 为必需,缺失则无法引导。其他平台支持情况暂未提供。