【问题标题】:Graphviz Graph creation noobie Image from javaGraphviz Graph从java创建noobie图像
【发布时间】:2012-07-10 03:24:03
【问题描述】:

我想运行我的 java 程序,它需要制作一堆图形图像。我有一个网站,但我不希望每次有人访问该页面时都运行 graphviz 程序,所以我正在运行一个预定的服务器端 java 程序,它将制作图表,以便网页只是拍摄图像。现在我似乎无法弄清楚。我正在使用 spring 查询数据库来为我的图形生成信息,然后我制作了一个 .dot 文件。使用简单的文本编写器。我将整个 graphviz 程序放在我的服务器上,我将如何从这个 .dot 文件中获取图像。我已经完成了我的研究,我需要做一个

  $ -Tpng graphic.dot -o graphic.png

键入呼叫,但这是一个终端呼叫。我似乎无法弄清楚。我应该使用像 Grappa 这样的东西吗?我应该怎么做这个问题?我是否应该尝试打开exe并将该行代码作为参数传递,另外图像文件将在哪里创建?

【问题讨论】:

  • 你为什么不直接选择 JGraph jgraph.com 之类的东西呢?它免费提供交互性;)
  • Graphviz 应该是最快的图创建者之一,我正在制作数百个图,每个图都有数百个节点。所有这些都需要非常迅速地完成。
  • 没错,但另一方面,您必须创建图像并通过 Internet 将它们发送给您的客户。您有可能会失去 GraphViz 提供的所有收益
  • 这不是真的,要生成图表,您需要查询我的数据库,因此一次调用制作图像,然后将图像发送给所有人更有效。然后数百个数据库调用,锁定了我的数据库。

标签: java graphviz


【解决方案1】:

如果我理解正确的话,您希望在您的服务器上定期运行的 java 程序中运行命令行程序。

您可以尝试以下方法:

Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("c:\\graphvizbinpath\\dot.exe -Tpng c:\\graphic.dot -o c:\\graphic.png");

当然你需要调整路径,执行java程序的用户应该有适当的文件系统权限。

【讨论】:

  • 抱歉,出了点问题,我不得不支持一些其他代码。明天早上我会回复它,但我非常感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-04
  • 2014-04-17
  • 1970-01-01
  • 2014-10-16
  • 2023-03-17
  • 2012-05-15
相关资源
最近更新 更多