我用utf-8编码保存了DOT代码文件。但它无法输出具有自定义形状的png图像文件。是否有一个示例来演示用户指定的graphviz charset用法?
演示代码在这里。
digraph G {
bgcolor=black;
edge [arrowsize=1, color=red];
node [penwidth=1, color=white, labelloc=b];
BR [shape=box, label="BR", charset="utf-8", image="图元.png"];
DS [shape=plaintext, fontname="SimSun", fontcolor=white, fontsize=18, label="测点"];
BR -> DS[dir=forward];
}
命令行的结果如下:
C:\dot>dot -Gcharset=utf-8 -Tpng -o demo.png demo.dot
Warning: No such file or directory while opening 鍥惧厓.png
Warning: No or improper image="鍥惧厓.png" for node "BR"
答案 0 :(得分:0)
链中某处存在编码问题。源中的图像文件名是图元.png
,但当graphviz读取它时,它会看到鍥惧厓.png
。
这表示您没有将文件保存为UTF-8,或者您的操作系统的默认编码不是UTF-8。我找不到一种方法来告诉graphviz文档中源代码的编码。选项charset
仅用于“将字符串输入解释为文本标签时”。 (另见“Character encodings”)
所以它不会解决你的问题。一种解决方案是用HTML实体替换Unicode字符。所以你可以使用"圖元.png"
但是再一次,文档说“在标签评估过程中,这些实体被翻译了”,这可能意味着它们没有被翻译到其他地方。