boost 库中是否有直接生成 png 文件而不是点的函数?

Is there a function in boost library to generate directly the png file instead of dot?

我正在编写一个用 graphviz 生成树的 C++ 程序。我正在生成点文件,但我想直接在我的脚本中生成 png 文件,而不使用终端或 system(command).

boost中有没有函数可以做到这一点? 就像

write_png(Graph g, string filename)

嗯,不。提升有:

  • A facility 用于读取 Graphviz (.dot) 文件,作为 Boost Graph Library 的一部分。
  • GIL - Generic Image Library - 让您可以读写便携式网络图形 (.png) 文件。

但前者产生图形的结构,而后者需要光栅图像,而不是某种结构化表示。将 .dot 文件渲染成矢量或光栅图像是 GraphViz 库的目的,您需要直接使用它。我会看看 the sources of the dot utility 做了什么,并基本上将相关部分复制到您自己的源代码中。