【图形描述语言】ditaa

本系列介绍 文本转图片 工具支持的图形描述语言。图形描述语言将图片描述为代码或者文本,有利于版本管理,很适合嵌入 LaTeX 或 Markdown 文档。用于网站时,还可以减轻图片存储压力,因为图片可以根据代码在使用时生成。本文是该系列第一篇,介绍 ditaa。

ditaa是什么

ditaa 是 DIagrams Through Ascii Art,作者是 Stathis Sideris。

ditaa is a small command-line utility written in Java, that can convert diagrams drawn using ascii art ('drawings' that contain characters that resemble lines like | / - ), into proper bitmap graphics.

ditaa interprets ascci art as a series of open and closed shapes, but it also uses special markup syntax to increase the possibilities of shapes and symbols that can be rendered.

From: http://ditaa.sourceforge.net/

文本转图片 工具并没有使用原版 Java 版的 ditaa,而是用了 Golang 版本,因此和原版并不完全一致,比如 Golang 版本中不能使用中文,原版最新版本已经可以使用中文。

语法介绍

圆角

使用 / 或者 \ 来连接角,将被解析为圆角。例如以下代码:

/--+
|  |
+--/
ditaa 圆角
ditaa 圆角

颜色

为图形增加颜色的语法是 cXXX。其中 XXX 是一个十六进制数。数字的第一个数字表示颜色的红色成分,第二个数字表示绿色,第三个数字表示蓝色(good ol' RGB)。下面是使用颜色代码的例子:

/----\ /----\
|c33F| |cC02|
|    | |    |
\----/ \----/

/----\ /----\
|c1FF| |c1AB|
|    | |    |
\----/ \----/

十六进制颜色代码可能有些冗长,所以这里提供了(目前只有一些)人类可读的颜色代码:

Color codes
/-------------+-------------\
|cRED RED     |cBLU BLU     |
+-------------+-------------+
|cGRE GRE     |cPNK PNK     |
+-------------+-------------+
|cBLK BLK     |cYEL YEL     |
\-------------+-------------/
ditaa颜色
ditaa颜色
ditaa颜色代码
ditaa颜色代码

正如您在上面看到的,如果一个彩色的形状包含任何文本,则文本的颜色将根据底层颜色进行调整。如果背景颜色为黑色,则文本颜色将更改为白色(从默认的黑色)。
请注意,颜色代码只适用于闭合形状内的情况,在闭合形状外的任何地方都没有效果。

形状标签

ditaa 能识别一些改变矩形渲染方式的标签。所有标记都在 {}之间。如下:

+-----+
|{d}  |
|     |
|     |
+-----+
Symbol representing a document.

+-----+
|{s}  |
|     |
|     |
+-----+
Symbol representing a form of storage,
like a database or a hard disk.

+-----+
|{io} |
|     |
|     |
+-----+
Symbol representing input/output.

ditaa tag Document
ditaa tag Document
ditaa tag Strorage
ditaa tag Strorage
ditaa tag Input/Output
ditaa tag Input/Output

虚线

任何包含至少一个 = (用于水平线)或至少一个 : (用于垂直线)的行都呈现为虚线。这些字符中只有一个可以使整行变为虚线,所以这个特性可以“扩展”。这背后的基本原理是,您只需要更改一个字符就可以从普通字符切换到虚线字符(反之亦然),而不需要重新绘制整个线条/形状。特殊符号(如文档或存储符号)也可以用虚线表示。见下文:

----+  /----\  +----+
    :  |    |  :    |
    |  |    |  |{s} |
    v  \-=--+  +----+
ditaa 虚线
ditaa 虚线

点标记

如果在一行中遇到 * (但不在行尾),则将它呈现为一个特殊的标记,称为点标记。见下文:

*----*
|    |      /--*
*    *      |
|    |  -*--+
*----*
ditaa 点标记
ditaa 点标记

文本处理

如果遇到 o XXXXX 模式(其中 XXXXX 是任何文本),则将 o 解释为项目符号并呈现。注意,o 前面和后面都必须有空格。见下文:

/-----------------\
| Things to do    |
| cGRE            |
| o Cut the grass |
| o Buy jam       |
| o Fix car       |
| o Make website  |
\-----------------/
ditaa 文本处理
ditaa 文本处理

ditaa画廊

ditaa工作流程
ditaa工作流程
Wordpress Text to Chart
Wordpress Text to Chart
WordPress Text2Chart
WordPress Text2Chart
Wordpress Text to Chart
Wordpress Text to Chart

以上就是全部内容,欢迎到 文本转图片工具 试用。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注