Frage

Ich versuche, mit Ruby einen Flussdiagrammgenerator für eine Sprache zu programmieren.

Ich wollte wissen, ob es Bibliotheken gibt, mit denen ich verschiedene Formen für die verschiedenen Flussdiagrammelemente zeichnen und Text in diese Formen schreiben kann.

Ich würde es wirklich vorziehen, keinen Code zum Zeichnen grundlegender Formen schreiben zu müssen, wenn ich helfen kann.

Kann mir jemand eine Referenzdokumentation mit Beispielen für die Verwendung dieser Bibliothek nennen?

War es hilfreich?

Lösung

Die einfache Antwort ist, dass das, was Sie wollen, (zum Zeitpunkt des Schreibens) mit ziemlicher Sicherheit nicht existierte.Entschuldigung!

Wenn Sie Windows-basiert sind, würde ich nach einem Produkt im .NET-Bereich suchen, wo Sie voraussichtlich etwas finden werden.Allerdings müssen Sie wahrscheinlich echtes Geld bezahlen.Ich nehme an, wenn Sie mutig sind, können Sie möglicherweise mit IronRuby mit ihm sprechen.

Von einer Nicht-MS-Umgebung würde ich auf eine Java-basierte Lösung hoffen.Wie bereits erwähnt, hoffen Sie in der Web-Welt auf etwas, das auf JavaScript basiert, oder wahrscheinlich eher auf etwas aus der Flash-Welt (oder vielleicht sogar Silverlight?).

Wenn Sie bei Ruby bleiben möchten und ein gewisses Risiko nicht scheuen, ist Silverlight möglicherweise die richtige Wahl – vorausgesetzt, das DLR-Zeug funktioniert tatsächlich (keine Erfahrung hier).Ruby – so sehr ich es liebe – verfügt kaum über die ausgereifteste GUI-Struktur.

Aktualisieren:Seitdem ich dies geschrieben habe (es ist fast 5 Jahre her), hat sich die Situation etwas verbessert.Obwohl mir noch keine spezifischen Ruby-Bibliotheken zum Zeichnen von Diagrammen bekannt sind, gibt es eine verbesserte Unterstützung für Graphviz hier (Github) oder von gem install ruby-graphviz.Ich habe festgestellt, dass es für einfache Diagramme durchaus möglich ist, das Skript direkt aus Ruby zu schreiben.

Andere Tipps

Schreiben Sie Ihr Flussdiagramm als gerichtetes oder ungerichtetes Diagramm in Graphviz.Graphviz hat eine Sprache, Punkt Dadurch ist es einfach, Diagramme zu erstellen.Generieren Sie einfach die Dot-Datei, führen Sie sie über Graphiviz aus, und schon erhalten Sie Ihr Bild.

graph {
  A -- B -- C;
  B -- D;
  C -- D [constraint=false];
}

rendert als
undirected

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
}

rendert als
directed

In Graphviz können Sie Knotenformen und vieles mehr steuern.

Es hört sich so an, als wären Sie hauptsächlich durch die Fähigkeiten des Benutzeragenten eingeschränkt, für den Sie erstellen.Wenn es sich um ein Webprojekt handelt, hängen die Zeichenfunktionen vom Browser ab.Da Ruby serverseitig ausgeführt wird, benötigen Sie mindestens etwas JavaScript, um das Ziehen/Zoomen usw. zu ermöglichen.Es gibt viele Beispiele für die Verwendung von JavaScript zum Zeichnen von Vektoren (googeln Sie einfach nach „Javascript-Grafikbibliothek“), aber alle erfordern Codierung, und ich habe keine Bibliothek gesehen, die dies elegant abstrahiert.

ImageMagick verfügt über eine Ruby-Bindung namens RMagick (manchmal auch unter anderen Namen bekannt, je nach Repository).(Verknüpfung) Ich habe es selbst nicht benutzt, aber ich glaube, es wird das tun, wonach Sie suchen.Sie müssen etwas programmieren, aber es ist in etwa so

draw.rectangle(x1, y1, x2, y2)
draw.polygon(x1, y1,...,xN, yN)

Ich bin mir völlig sicher, aber schauen Sie sich die Kairo-Bindungen für Ruby an.Pango für Text.Ich recherchiere damals gerade und bin auf diese Seite gestoßen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top