GraphViz能用于制作图形编辑界面吗?

9
我正在创建一个应用程序,允许开发人员通过从工具箱中选择预定义的功能(显示为小型图形元素)来创建程序流程图。换句话说,开发人员将从工具箱中选择一个或多个预定义的函数(图形元素),并将其拖放到主工作区。根据所选功能的流程,该应用程序将自动生成可编译代码。
我查看了GraphViz,但不确定它是否可用于创建用于编辑图形元素的GUI IDE。我正在寻找类似于Microsoft Visio的功能,用户可以添加/删除/拖放各种形状以创建图表。
GraphViz适合在这里使用吗?如果是,请指导我如何做的一些示例?如果无法使用GraphViz,则有哪些其他开源/免费组件可用?
我打算在.Net中构建最终应用程序。

你打算使用什么语言来实现 GUI?是哪个平台? - Benjamin Bannier
我打算使用VB.net(VS 2008 Express Edition)。 - Devang Thakkar
2个回答

3

虽然Graphviz 可以用于这样的交互式图形环境,但我不确定它是否是最好的工具。在我看来,Graphviz的优势在于相对容易地将各种形式的现有数据可视化为图形形式。

如果您计划在浏览器中使用GUI,则建议使用RaphaelJit。两者都是基于JavaScript的,并且更容易让您掌控。如果您想要完全控制事物布局,则Raphael很好(example)。如果您想要添加和删除节点,但是希望框架为您执行布局,则JIT很好(example)。


感谢马克提供的指引。但我正在寻找适用于桌面应用程序的东西。你知道有没有这样的库/模块可以用于.Net/Java桌面应用程序? - Devang Thakkar
感谢JIT!我刚刚调整了一个演示,我认为我可以创建一个小的Web应用程序,它可以完全符合我所寻找的功能(请查看我的版本:http://www.martin-thoma.de/uni/graph.html) - Martin Thoma

0

是的,graphviz 绝对可以用于此。它带有 cairo 绑定,可轻松集成到 GUI 中。您还可以更加简单地使用 dottylefty 等基本包装器,这些包装器都带有 graphviz。


你好, 我查阅了Cairo并发现它是一个图形渲染引擎。我们可以使用各种语言(通过绑定)来创建各种形状。你能让我理解一下它如何与GraphViz配合吗?DOT语言和Cario如何协同工作?Graphviz是否在内部使用Cairo来将DOT语言代码显示为图表?我需要解析(我不认为需要),然后调用适当的Cairo API来创建最终的图表吗? 非常抱歉提出这么多问题,但对我来说理解所有这些非常重要。 非常感谢你的帮助!
  • Devang
- Devang Thakkar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接