Question

J'essaie de coder un générateur d'organigrammes pour un langage utilisant Ruby.

Je voulais savoir s'il existait des bibliothèques que je pourrais utiliser pour dessiner différentes formes pour les différents éléments de l'organigramme et écrire du texte sur ces formes.

Je préférerais vraiment ne pas avoir à écrire de code pour dessiner des formes de base, si je peux l'aider.

Quelqu'un peut-il m'indiquer une documentation de référence avec des exemples d'utilisation de cette bibliothèque ?

Était-ce utile?

La solution

La réponse simple est que (au moment de la rédaction de cet article), ce que vous souhaitez n’existait presque certainement pas.Désolé!

Si vous utilisez Windows, je chercherais un produit dans l'espace .NET, où j'espère que vous trouverez quelque chose.Cependant, vous devrez probablement payer de l'argent réel.Je suppose que si vous êtes courageux, vous pourrez peut-être lui parler en utilisant IronRuby.

Dans un environnement non MS, j'espère une solution basée sur Java.Comme déjà mentionné, dans le monde du Web, vous allez espérer quelque chose basé sur JavaScript, ou probablement plus probablement, quelque chose du monde Flash (ou peut-être même Silverlight ?).

En fait, si vous voulez rester dans Ruby et que certains risques ne vous dérangent pas, Silverlight pourrait être une solution - en supposant que les éléments du DLR fonctionnent réellement (aucune expérience ici).Ruby - même si je l'aime - n'a guère la structure d'interface graphique la plus mature.

Mise à jour:Depuis que j’ai écrit ceci (il y a environ 5 ans), la situation s’est un peu améliorée.Bien que je ne connaisse toujours aucune bibliothèque de dessin graphique Ruby spécifique, il existe une prise en charge améliorée pour Visualisation graphique ici (Github) ou par gem install ruby-graphviz.J'ai trouvé que pour des graphiques simples, il est tout à fait possible d'écrire le script directement depuis Ruby.

Autres conseils

Rédigez votre organigramme sous forme de graphique orienté ou non orienté dans Visualisation graphique.Graphviz a un langage, point cela facilite la génération de graphiques.Générez simplement le fichier de points, exécutez-le via Graphiviz et vous obtenez votre image.

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

rend comme
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
}

rend comme
directed

Vous pouvez contrôler les formes des nœuds et bien plus encore dans Graphviz.

Il semble que vous serez principalement limité par les capacités de l'agent utilisateur pour lequel vous construisez ;s'il s'agit d'un projet Web, les capacités de dessin dépendront du navigateur.Étant donné que Ruby fonctionne côté serveur, vous aurez au minimum besoin de JavaScript pour permettre le glisser/zoomer, etc.Il existe de nombreux exemples d'utilisation de JavaScript pour le dessin vectoriel (il suffit de rechercher sur Google "bibliothèque graphique javascript"), mais tous nécessitent un codage, et je n'ai vu aucune bibliothèque qui résume cela avec élégance.

ImageMagick a une liaison Ruby appelée RMagick (parfois connue sous d'autres noms, selon le référentiel).(Lien) Je ne l'ai pas utilisé moi-même, mais je crois que cela fera ce que vous recherchez.Vous devrez faire un peu de codage, mais cela ressemble à

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

J'en suis totalement sûr, mais jetez un œil aux reliures Cairo pour Ruby.Pango pour le texte.J'enquête alors actuellement et je suis tombé sur cette page.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top