SANSUI'S BLOG

系统外观
分类标签
RSS
Sansui 2023
All rights reserved
人活着就是为了卡卡西

把 draw.io 装修为简单且现代的白板应用

11 月 12 日, 2024

draw.io 是一个功能丰富的流程图绘制软件。此前写论文时我一直使用这个软件画图。在没有系统性的画图需要,转而变成了有时想要随手画矢量示意图后,这个软件启动交互流程步骤繁琐,我便极少使用它了。但在使用了 tldraw, excalidraw 后,又回到了 draw.io,才发现这个软件的可定制性其实非常强,完全能满足随手画图的需要。这里记录一下如何把 draw.io 变成一个更适合打开即用的、默认效果更加现代的白板应用。

(草……windows 截图这边缘的黑框好丑啊!)

为什么是 draw.io

先对比一下适合需求的竞品(不想看请跳转下一节):

  • visio: 收费,而且 mac 上没有。
  • tldraw, excalidraw: 更适合作为 sdk 使用,作为成品有些过于简单,在易用的同时,想多做一点非流程图的东西又很复杂,中文字体也不契合其默认的手写设计。而且并没有打包为桌面 App,文件关联是个问题。
  • processon: 要登录
  • figma: 要用梯子登录
  • powerpoint: ……我只是想偶尔画个示意图
  • 飞书: 每30天要扫码登录 ……我只是想偶尔画个示意图
  • adobe illustrator: 没有常用预制样式库,漫长的启动时间,对于没接触过的人学习成本很高。
  • 无边记、goodnotes: 苹果移动端生态 only

draw.io 没有上述的问题,但它由于设计之初不是个草图应用,所以:

  • 默认较为重型的 UI
  • 启动先选择储存位置,太慢了
  • 默认组件样式很丑,看起来只适合工控图
  • 有时会感觉曲线箭头很难调,怎么都不流畅

我根据以上三点问题大致说一下如何改进。

更换UI布局

默认的 UI 较为传统的重型设计,熟悉这类UI是相当好用的,但按钮组过多会显得不够轻便。在 其它→主题→外观 中可以更换为其他的主题,有5套可用:经典、极简、简易、草图、atlas。

我个人用得比较多的是「简易」,并且关掉了左侧栏形状库的栏,改为用顶栏,右侧格式栏在顶部有快速按钮展开。

习惯 tldraw、excalidraw 的用户应该还是更适合「草图」主题,绑定了基础形状的快捷键。需要去手动调出格式栏。

更改启动流程

默认情况下,启动时会弹出选择保存位置的框。新建画布时,又会先看到一大串模板的选择题,还得去想命名。但很多时候,随便画图是不需要保存的。

在经典主题下,需要去「其它」→「显示开始画面」上取消勾选。在其它的主题下,则需要去菜单的「设置」→「配置」里取消勾选「显示开始画面」。

配置默认样式

要做到更改默认样式,需要写 JSON 配置。尽管可以在侧栏按「设置为默认样式」,但只能当前打开的窗口生效,刷新、新开文档都会导致默认样式回到最初的样子。

在经典主题下,需要通过 「其它」→「配置」打开,其它主题下,则是「设置」→「配置」。

我的配置已经上传到 gist

JSON 写法参考了如下文档:

draw.io 的图形分为 vertex(顶点图形) 和 edge(箭头、线段)两类,选中按 ctrl + e 即可查看当前图形应用的样式。

配色与样式设计

整体采用的粗线条粗体,比较契合现代简约又活泼的趋势。edge 采用黑色,与高饱和的 vertex 非常好搭配。

直接抄的无边记的颜色,有的有轻微的改动。不过无边记最印象化的水蓝色没有抄上去。

默认的配色改为了最后一个蓝色。以下配色均可以在右侧的「格式栏」中找到并应用。

关于圆角矩形

现代设计中圆角矩形用得更多。对于圆角的弧度,可以通过属性 Arc Size 去调整。可以点击设置为默认样式,也可以配置到 JSON 里。

如果你使用的「经典」主题,需要自己选择圆角矩形的图形。在「草图」主题下,按 D 就是默认配置好的圆角矩形,相当简单。「简易」主题下的位置如图:

关于曲线设置

曲线设置不对会变得很难调整,一张图说明大多数情况下的曲线操作与设置:

想更换为手写风格?

在不选中任何东西的情况下,把右侧格式栏的草图勾选上即可,就可以获得类似 excalidraw 的手写风格啦!

另外,如果没有自定义 JSON, 「草图」主题下的默认样式也是手写风格的。

关于默认字体(附网页用字号推荐)

JSON 中这几个字段设置默认字体。我默认英文是 Inter,中文是使用的系统黑体。文字大小我设置为了网页标准 16px。

{
  "customFonts": [
    "Inter",
    "pingfang sc"
  ],
  "defaultVertexStyle": {
    "fontSize": 16,
    "fontFamily": "Inter"
  },
  "defaultEdgeStyle": {
    "fontSize": 16,
    "fontFamily": "Inter"
  }
}

另外介绍一下常用网页文字大小的规范,现代的美术设计由于自己屏幕很大,或者对标准视距缩放大小没太多概念,非常容易把字给设置得很小(点名星穹铁道)

  • 16px 为默认正文大小,但由于主要是考虑了希腊字母面积比较小,所以也有的中文网站会设置为 15px。
  • 14px 偏次级小段落、不重要的文字,长时间阅读会累。
  • 13px 为代码常用大小。
  • 12px 已经非常小了,是正常视距下最小可视大小,适合做脚注、引用。

再小的字号不推荐作为内容性文本使用。

关于背景网格

在简易主题中默认关闭的,经典主题中可以通过配置 JSON 为默认关闭。关掉背景网格会显得比较现代化。

{
  "defaultGridEnabled": false,
  "defaultPageVisible": false
}

但还是有时可能需要开启网格,那就什么都不选中,右侧栏开启网格就可以了。

其他使用 Tips

导出设置

导出时注意一下缩放。网页标准大小字体为 16px,编辑时画布 100% 缩放下一切正常。但是当导出为位图(jpg, png)时,需要根据你的显示器缩放进行放大,否则文字一定会糊。

我的显示器为 150% 界面缩放,因此需要缩放到 150% 才能大概清晰,如果要让 4k 屏也看得无比清晰,最好导出 200% 缩放,且 dpi 尽量在 180 以上。

另外可以直接框选后右键复制,不一定要导出。

一个文件画多张图

经常会遇到多张同系列图的需求。为此,你可以选择都画在一页上,要用时框选特定范围,右键复制为 png 。这样很适合边聊天边画图发给别人,但也会失去缩放、加白底、加白边等设置。至少你得打个组,把 16px 的文字放大后再复制,以确保结果不会糊。

draw.io 也可以分页,建议是一页一个图,可批量导出。

从 Mermaid 生成图、嵌入 Notion

mermaid 是一种画流程图的代码,比较适合不想可视化排列对齐的强迫症。

draw.io 可以在菜单中的「高级」使用 mermaid 生成图,下面的图就是导入 mermaid 生成的。

由于 notion 无法画图,在 notion 我都是用的 mermaid,有点不好看但至少目的达到了。不过最近发现,draw.io 的导出可以选择直接嵌入notion,点开还能进行编辑……实现方式是图像数据全部存放在了链接里……不得不说 draw.io 自主兼容性做得很强,从接入了那么多网盘就可见一斑。

自定义CSS

如果还是觉得 UI 太丑了,在 Configure the draw.io editor 中可以找到自定义 CSS 的部分(但我觉得 UI 排列上还是不错的,这足够了)

更新于 2024-11-12 13:19
Waline