SVG Draw

✏️ 代码绘矢量,一键转高清图

纯代码生成 SVG 矢量图并转 PNG,无需外部图形库,适合快速绘制头像、Logo 和定制插画

收藏
17k
安装
3.6k
版本
1.0.0
CLS 安全性认证2026-05-10
点击查看完整报告 >

使用说明

核心用法

svg-draw 是一款基于纯 SVG 代码和系统工具 rsvg-convert 的图像生成技能,无需依赖 PIL、ImageMagick 等重型图形库。用户通过编写 XML 格式的 SVG 代码创建矢量图形,再通过内置脚本转换为 PNG 位图输出。

工作流程:
1. 直接编写或修改 SVG 模板代码(提供龙、龙虾等预设模板)

2. 使用 write() 将 SVG 内容写入文件

3. 调用 /root/.openclaw/workspace/skills/svg-draw/scripts/svg_to_png.sh 完成格式转换

显著优点

  • 零外部依赖:仅依赖系统自带的 rsvg-convert,无需安装复杂图形库
  • 完全可编程:SVG 作为文本格式,可动态生成、参数化调整
  • 模板化设计:提供 dragon、lobster 等完整模板,降低上手门槛
  • 跨平台兼容:SVG 是 Web 标准格式,生成后可二次编辑
  • 体积轻量:矢量图可无损缩放,输出尺寸灵活可控

潜在缺点与局限性

  • 学习曲线陡峭:需要掌握 SVG 语法(path、viewBox、坐标系等),非可视化操作
  • 调试成本高:无实时预览,需反复转换查看效果
  • 复杂图形困难:精细插画、照片级效果难以纯代码实现
  • 字体依赖风险:系统字体缺失可能导致文字渲染异常
  • 功能边界明确:仅限 SVG 创建与格式转换,无图像编辑、滤镜、合成能力

适合人群

  • 开发者/技术人员:习惯代码工作流,需要程序化生成图形
  • 快速原型场景:内部工具、测试数据、简单头像/标识生成
  • 教育资源:学习 SVG 语法的实践环境

常规风险

  • 路径注入风险:若动态拼接 SVG 内容且未转义用户输入,可能导致 XML 实体注入
  • 文件覆盖风险:write() 操作直接覆盖目标路径,需确认权限
  • rsvg-convert 依赖:目标系统若未安装 librsvg 工具链,转换将失败
  • 分辨率误判:默认 400x400 可能不满足打印/高清场景需求

安全解读

核心用法

svg-draw 是一款专注于矢量图形生成的轻量级 Skill,通过直接编写 SVG 代码实现图像创作,无需依赖 PIL、ImageMagick 等外部图形库。其核心工作流包含三步:编写 SVG 文件 → 使用系统工具 rsvg-convert 转换为 PNG → 输出分享。Skill 内置 Dragon(蓝色神龙)和 Lobster(红色龙虾)两款精美模板,可直接修改颜色、造型快速生成个性化头像或插画。

显著优点

极致轻量:纯 Bash 脚本实现,仅 400 行代码,无第三方依赖包,部署零负担。功能纯粹:专注 SVG 创作与格式转换单一领域,无冗余功能,学习曲线极低。模板友好:提供完整可修改的 SVG 模板,包含结构清晰的图层(背景→身体→头部→五官→配件→标签),新手也能快速上手。输出灵活:支持自定义分辨率(默认 400×400,可扩展至 1024×1024),满足社交媒体头像、应用图标等多场景需求。

潜在局限

手工编码门槛:需手动编写或修改 SVG XML 代码,对无 HTML/XML 基础的用户存在一定学习成本。功能边界明确:不支持复杂滤镜、渐变动画、路径编辑器等高级矢量功能,专业设计师可能觉得受限。模板数量有限:当前仅 2 套预设模板,需用户自行扩展更多风格。无实时预览:修改代码后需执行转换才能查看效果,迭代效率低于可视化编辑器。

适合人群

  • 开发者/技术人员:熟悉代码,追求自动化、可版本控制的图形生成方案
  • 快速原型需求:需要批量生成简单图标、默认头像、占位图
  • 隐私敏感场景:不愿上传图像至第三方设计平台,偏好本地处理
  • 教学/学习用途:理解 SVG 结构、矢量图形原理的实践工具

常规风险

输入验证待加强:svg_to_png.sh 脚本目前仅检查参数非空,建议自行添加文件存在性、扩展名校验。无错误处理:rsvg-convert 执行失败时缺乏友好提示,需关注返回状态。许可证缺失:当前未声明开源协议,商用或二次分发前建议与维护者确认授权条款。

SVG Draw 内容

assets文件夹
scripts文件夹
手动下载zip · 5.4 kB
dragon_template.svgtext/plain
请选择文件