一、关于Graphviz下的dot工具
Graphviz是一个画图软件,其中的dot工具可以用于绘制流程图。dot工具可以根据dot语言代码生成GIF、PNG、SVG、PDF、PostScript格式的图片文件。
通过dot工具,可以绘制出如下面这样复杂的流程图(摘自dot工具官方帮助手册):
dot工具画图通过以下四个步骤来完成:
第一步:通过翻转一些循环边的内部方向,打破在输入图中出现的环路。
第二步:将节点分配给不同的等级(rank)和层次(level),自顶向下绘图,等级决定了纵轴的位置。跨越了多个等级的边,会被拆分成有多个虚拟节点相连接的链条。
第三步:根据节点等级(rank)为节点排序以避免节点的交叉。
第四步:在保持边长尽量短的情况下,设置节点的横坐标,同时绘出边的样条曲线。
dot工具的绘图方法,其官网 www.graphviz.org 上面有着详细的介绍,这里不再做更深层次的说明。本文中我使用的Graphviz版本为2.38
二、使用dot工具生成图片
安装Graphviz后,新建一个文件夹,建立一个bat文件取名【GenerateJpgsBatch.bat】,代码如下:
:: 在这里设置调用文件路径
set dotPath=D:\Graphviz2.38
set sourcePath=C:\Users\Tsybius\Desktop\graphviz_study
rem 测试文件XXX
%dotPath%\bin\dot.exe -Tjpg %sourcePath%\XXX.dot -o %sourcePath%\XXX.jpg
pause
其中dotPath为dot代码文件地址,sourcePath为生成后文件的地址。
上面的代码就是用dot.exe,将一个名为XXX.dot的文件,生成为图片XXX.jpg。
使用dot程序生成带有汉字信息的图片,需要注意两点