发布于 2026-09-25 · 妙妙画布

画布上的 23 种图表语言:Kroki 图形功能详解

妙妙画布把自托管 Kroki 装进了画布:PlantUML、C4、Graphviz、D2、Vega、ERD 等 23 种图表语言写成代码就出图。本文讲清支持哪些图种、怎么用,以及为什么画布只保存 SVG。

写代码画图,和拖拽画图并不冲突

架构图、时序图、ER 图这类图形有个共同特点:结构固定、元素重复、需要精确。用拖拽的方式画,改一处就要手动挪半天;用代码描述,改一行重新出图即可。妙妙画布在拖拽画布之外,内置了一个 Kroki 图形节点,让你直接把代码写进画布,出图结果和手画的节点并排放在同一张图里。

支持的 23 种图形语言

软件与架构类:PlantUML、C4 PlantUML、Structurizr、D2、Graphviz,适合画类图、组件图、部署图与依赖关系。时序与流程类:seqdiag、actdiag、blockdiag,用于消息交互、活动流程与模块结构。数据与网络类:nwdiag、packetdiag、rackdiag、bytefield、wavedrom、Vega、Vega-Lite,可以画网络拓扑、报文结构、机架布局、时序波形与数据图表。文本与草图类:svgbob、ditaa、pikchr、nomnoml,用字符画风格快速出图。领域专用类:ERD 画实体关系,Symbolator 画数字电路符号,UMLet 与 WireViz 分别处理 UML 草图与线束图。

怎么用:插入、选图种、写代码

在画布顶部的工具条里选择插入 Kroki 图形,面板会列出全部 23 种图种。选中一种,代码框里会带上对应的示例代码,照着改就行,不需要先查语法。写完后点确定,节点上就会渲染出矢量图形;想修改时双击节点,代码还在,改完重新出图。节点也能像普通元素一样拖动、缩放、参与对齐和导出。

画布与云端只保存 SVG

Kroki 图形的节点数据里存的是 SVG 矢量图,不是位图。这样做有三个好处:放大不糊、体积更小、文本还能被搜索。需要位图时,右键节点选择下载 PNG 图片,服务会在那一刻用当前代码重新渲染一张 PNG 给你,而这张 PNG 只存在于你的下载文件里,不会写进画布、不会上传到云端存储,也不会随协同同步给别人。

代码写错了怎么办

如果语法有误,Kroki 会返回错误提示,节点会保留你写的代码并显示失败原因,方便对照修改,而不是留下一片空白。另外图形渲染有 30 秒的超时和体积上限,遇到特别复杂的图会明确告知,避免画布卡住。国内访问走的是同源转发,不需要额外的网络条件。

实用小贴士

  • 先从面板自带的示例代码改起,比从零写语法更快
  • 架构类图优先用 PlantUML 或 D2,文本草图用 svgbob 更轻
  • 代码里的中文要注意引号是否配对,语法错误大多出在引号上
  • 需要放进 Word 或 PPT 时再下载 PNG,平时画布和云端留 SVG 就够了

相关阅读