Ruby的绘图库

Pas*_*cal 15 ruby graphics drawing

我正在尝试使用Ruby为语言编写流程图生成器.

我想知道是否有任何库可用于为各种流程图元素绘制各种形状并将文本写入这些形状.

如果我能帮助它,我真的不想编写用于绘制基本形状的代码.

有人可以给我一些参考文档,其中包含使用该库的示例吗?

ram*_*ion 17

Graphviz中将流程图写为定向或无向图.Graphviz有一种语言,可以很容易地生成图形.只需生成点文件,通过Graphiviz运行它,就可以获得图像.

graph {
  A -- B -- C;
  B -- D;
  C -- D [constraint=false];
}
Run Code Online (Sandbox Code Playgroud)

呈现为
无方向

digraph {
  A [label="start"];
  B [label="eat"];
  C [label="drink"];
  D [label="be merry"];

  A -> B -> C;
  C -> D [constraint=false];
  B -> D [ arrowhead=none, arrowtail=normal]; // reverse this edge
}
Run Code Online (Sandbox Code Playgroud)

呈现为
针对

您可以在Graphviz中控制节点形状等等.


Mik*_*use 2

简单的答案是(在撰写本文时)您想要的几乎肯定不存在。对不起!

如果您使用 Windows,那么我会在 .NET 领域寻找产品,我希望您会在其中找到一些东西。不过,您可能需要支付真钱。我想,如果您足够勇敢,您也许可以使用 IronRuby 与它对话。

在非 MS 环境中,我希望有一个基于 Java 的解决方案。正如已经提到的,在 Web 世界中,您将希望得到一些基于 JavaScript 的东西,或者更可能是来自 Flash(甚至可能是 Silverlight?)世界的东西。

实际上,如果您想继续使用 Ruby 并且不介意一些风险,Silverlight 可能是一种选择 - 假设 DLR 的东西确实有效(这里没有经验)。Ruby——尽管我很喜欢它——几乎没有最成熟的 GUI 结构。

更新:自从写这篇文章以来(接近 5 年前),情况有所改善 - 一点点。虽然我仍然不知道任何特定的 Ruby 图形绘制库,但这里 (Github ) 或gem install ruby-graphviz. 我发现对于简单的图表,很可能直接从 Ruby 编写脚本。

  • “我需要 Ruby 的东西”,“尝试 .NET”,WTF。 (4认同)
  • Ruby 确实存在一些库。尽管您只需要使用基本元素即可。正如 Nathan 指出的那样,有 https://rubygems.org/gems/rmagick,但也有 https://rubygems.org/gems/cairo。这是一个简单的教程http://www.hokstad.com/simple-drawing-in-ruby-with-cairo.html。这是另一个使用 GTK 的 http://zetcode.com/tutorials/rubygtktutorial/cairo/。我不得不承认这不是最好的 API,但它是一个开始。 (2认同)