ditaa 字符画转图
简介 / Introduction
ditaa 是一种”用字符画描述图形”的记法:你在源码里手写 +---+ 边框和 | 竖线,后端再把它渲染成真正的图形。PlantUML 内置了 ditaa 引擎,因此可以直接用 @startditaa 把字符画变成图片,适合快速画线框草图或者在文档里表达一个”手绘感”很强的布局。Mermaid 没有字符画语法,但可以用 flowchart 表达完全相同的服务拓扑。
PlantUML 版
PlantUML 用 @startditaa / @endditaa 包住一段 ditaa 源码。箭头用 +------>,竖直箭头用 v,| 画竖线,+---+ 画边框:
1 | @startditaa |
字符画的空格必须严格对齐,箭头的落点要正好顶在目标框的边框上,否则渲染出来的连线会歪。
Mermaid 版
Mermaid 用 flowchart 表达同样的结构,节点和连线由语法显式声明,不依赖字符对齐:
1 | flowchart TD |
对比 / Side-by-side
| Feature | PlantUML (ditaa) | Mermaid (flowchart) |
|---|---|---|
| 记法 | 字符画,边框靠空格对齐 | 显式声明节点与边 |
| 箭头写法 | +------> / v |
--> |
| 框内文字 | 直接写在 ` | ` 之间 |
| 对齐容错 | 差,错位就连线歪斜 | 无需对齐,节点自动排布 |
| 布局风格 | 固定在作者指定的栅格 | 自动布局,方向由 TD/LR 决定 |
| 主题与配色 | !theme、skinparam 生效 |
%%{init}%% 主题变量生效 |
小结 / Wrap-up
ditaa 的价值在于”所见即所得”的字符草图——画线框原型时非常顺手,代价是对空格极其敏感。想要可维护、可自动布局的拓扑图,还是用 Mermaid flowchart 更省心;两者也可以混用,先用字符画定稿布局,再翻译成 Mermaid 交给团队协作。
- 标题: ditaa 字符画转图
- 作者: puml.online
- 创建于 : 2026-10-28 09:00:00
- 更新于 : 2026-10-28 01:07:09
- 链接: https://puml.online/blog/ditaa-bitmap-as-diagram/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。