DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

kongbaiwin /

kongbaiwin/dsh-paint

Verified

让 AI 把图片重画成矢量画:本地色块描摹 + 自写渲染器,纯 CPU、不联网、不训练。DSH 插件。 Turn images into vector art — local color-region tracing plus a hand-written renderer. CPU-only, offline, no training. A DSH plugin.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@6f2ec0b8

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),版权归其作者。

关于图片:本工具只做格式转换。描摹他人作品不产生新的著作权,公开发布前请确认你有权使用那张图。

—/ 5

No ratings yet

Verified DSH bundle

Commit 6f2ec0b8545d

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout