dsh-paint
让 AI 把一张图片重画成矢量画的 DSH 插件。
装好之后,只要对它说「把这张图重画成矢量」,它就会本地跑一遍算法,给你一张可无限放大的 SVG 和一张 PNG。
不是 AI 生成 —— 不训练、不联网、不用显卡
是图像矢量化 —— 把色块边界描成曲线,再用自写渲染器画出来
它到底在做什么
| 步骤 | 谁来做 |
|---|---|
| 把像素区域描成矢量路径 | vtracer(Rust 算法库,MIT) |
| 解析路径、渲染成 PNG、超采样抗锯齿 | 本插件自带(lib/paint.py) |
| 挑参数、做质量评分 | 你(或者让 AI 一起调) |
所以它不会凭空画出没被画过的东西,但能把已有的图重建得几乎一模一样,而且放多大都不糊。
安装
方式一:在 DSH 里装——设置 → 插件 → 安装本地插件,选这个目录。
方式二:改 profile——在 profiles/<你的 profile>/package.json 里加一行:
{
"dependencies": {
"dsh-paint": "link:<这个仓库的本地路径>"
}
}
然后把它加进同一文件里的 dsh.profile.bundles 数组。
依赖:
- DSH 自带的 Python 运行时(需要有
numpy和Pillow) - vtracer 已随插件打包在
vendor/,不需要 pip 安装
用法
装好后直接对 AI 说:
把
D:\图片\xxx.png重画成矢量,要 4K
或者显式调用工具 draw_vectorize:
{
"src": "D:\\图片\\xxx.png",
"size": 4096
}
参数:
| 参数 | 说明 |
|---|---|
src |
输入图片路径(必填) |
size |
输出长边像素,常用 1024 / 2048 / 4096 / 8192 |
trace |
描摹分辨率,默认等于 size;调低会明显变糊 |
crop |
居中裁成正方形;默认保留原始比例 |
out / svg |
自定义输出路径 |
产物默认落在设置里的画库目录,文件名带时间戳(画-1106-205032.png)。
硬件需求
不需要显卡,全程 CPU。
| 档位 | 输出尺寸 | 形状数 | 耗时 | 内存(估算) | 产物大小 | 最低内存 |
|---|---|---|---|---|---|---|
| 1K | 1024 × 576 | 2,623 | 1.1 s | < 200 MB | PNG 0.1 MB / SVG 1.3 MB | 4 GB |
| 2K | 2048 × 1152 | 6,844 | 4.8 s | ~ 400 MB | PNG 0.4 MB / SVG 1.8 MB | 4 GB |
| 4K(推荐) | 4096 × 2303 | 44,636 | 18.6 s | ~ 1.2 GB | PNG 2.7 MB / SVG 17.6 MB | 8 GB |
| 8K | 8192 × 4606 | 102,224 | 78 s | ~ 3.5 GB | PNG 3.6 MB / SVG 51.3 MB | 16 GB |
耗时实测于 i7 + 32 GB 的机器;内存是按画布与形状数推算的,实际可能略高。 8K 的形状数是平方级增长,日常用 4K 就够。
架构:外壳 + 模块
这个插件是外壳,能力靠模块插进来:
dsh-paint(外壳)
├─ 核心:悬浮窗 · 进度显示 · 画库 · 历史
├─ 模块 lamp 盯任意 progress.json,可暂停/停止
└─ 模块 paint 提供 draw_vectorize 工具 + 自己的进度文件
模块通过统一接口接入:
{ id, label, desc, enabled, progressFile, controlFile, tools }
所以:
- 不画画的时候,把
paint关掉,灯照样能盯别的任务(下载、转码、拟合……) - 以后想加新能力(比如「矢量化批量」),按同一接口写个模块就行
在 设置 → 绘画 → 模块 里可以随时开关。
给外部进度面板用
paint 模块的进度文件默认在:
<DSH_HOME>/dsh-paint/paint-progress.json
<DSH_HOME>/dsh-paint/paint-control.json
本插件自带悬浮窗,不需要额外装灯。如果你在用别的进度面板,把这两个路径填进去即可(格式与 dsh-lamp 兼容)。
已知限制
- 描摹分辨率低于输出尺寸时,会明显发糊(用
trace控制) - 平涂色阶是矢量本质:原图柔和过渡会被切成一格一格,靠
precision 8+layer-diff 2缓解 - 复杂插画的形状数会到几万,SVG 文件较大(4K 约 17 MB)
许可
插件本体 MIT。内置的 vtracer 为 MIT(见 vendor/vtracer-LICENSE),版权归其作者。
关于图片:本工具只做格式转换。描摹他人作品不产生新的著作权,公开发布前请确认你有权使用那张图。
No comments yet. Be the first to write one.