Desen Biblioteca pentru Ruby

Încerc să codez un generator de circuite pentru o limbă folosind Ruby.

Voiam să știu dacă există biblioteci pe care le-aș putea folosi pentru a desena diferite forme pentru diferitele elemente de diagramă și pentru a scrie textul acestor forme.

Aș prefera să nu scriu cod pentru a desena forme de bază, dacă pot să o ajut.

Poate cineva să mă îndrepte spre o documentație de referință cu exemple de utilizare a acelei biblioteci?

0
fr hi bn
Am avut aceeași întrebare, dați-mi voie să știu că există ceva comparabil cu spațiul de nume System.Drawing în .net
adăugat autor Zasz, sursa

3 răspunsuri

Scrieți-vă schema de flux ca un grafic direcționat sau nedirecționat în Graphviz . Graphviz are o limbă, dot , care facilitează generarea de grafice. Doar generați fișierul dot, rulați-l prin Graphiviz și obțineți imaginea.

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

renders as
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
}

renders as
directed

Puteți controla formele de noduri și multe altele în Graphviz.

0
adăugat

Răspunsul simplu este că (la momentul scrisului) ceea ce vrei aproape sigur nu există. Ne pare rău!

Dacă sunteți bazat pe Windows, atunci aș căuta un produs în spațiul .NET, unde mă aștept să găsiți ceva. Probabil că va trebui să plătiți bani reali. Presupun că, dacă ești curajos, ai putea să vorbești cu IronRuby.

Din mediul non-MS aș fi în speranța unei soluții bazate pe Java. Așa cum am menționat deja, în lumea web, veți spera în ceva bazat pe JavaScript sau probabil mai mult din lumea Flash (sau chiar Silverlight?).

De fapt, dacă vrei să rămâi în ruby și nu-ți deranja riscul, Silverlight ar putea fi o modalitate de a merge - presupunând că lucrurile DLR funcționează (nu există experiență aici). ruby - la fel cum îmi place - nu are cea mai matură structură GUI din jurul său.

Actualizare: De la scrierea acestui articol (apropiindu-se acum 5 ani) situația sa îmbunătățit - puțin. În timp ce încă nu sunt conștient de anumite librării grafice grafice Ruby, există un suport îmbunătățit pentru Graphviz < a se vedea aici (Github ) sau de gem install ruby-graphviz . Am descoperit că pentru grafice simple, este foarte posibil să scriu scriptul direct de la Ruby.

0
adăugat
"Am nevoie de ceva cu Ruby", "Try .NET", WTF.
adăugat autor Dorian, sursa
Unele biblioteci există pentru rubinie. Deși ar trebui să lucrați numai cu elemente de bază. După cum a subliniat Nathan, rubygems.org/gems/rmagick , dar există și rubygems.org/gems/cairo . Iată un tutorial simplu hokstad.com/simple-drawing-in- rubin-cu-cairo.html . Iată un altul care utilizează GTK adăugat autor Gaston, sursa
@ Gaston prea rău că nu ai răspuns din asta.
adăugat autor Blogueira, sursa

Se pare că veți fi limitat în principal de capacitățile oricăror agenți utilizator pentru care construiți; dacă acesta este un proiect web, capabilitățile de desen vor fi dependente de browser. Deoarece ruby rulează pe server, ar trebui să aveți minimum JavaScript pentru a permite tragerea/mărirea, etc. Există o mulțime de exemple de JavaScript care sunt folosite pentru desen vectorial (doar Google "javascript graphics library"), dar toate necesită codificare și Nu am văzut nici o bibliotecă care să rezume acest lucru elegant.

ImageMagick are o legare ruby numită RMagick (uneori cunoscută prin alte nume, în funcție de depozit). ( Link ) Nu am folosit-o eu însumi, dar cred că va face ceea ce cauți. Va trebui să faceți niște coduri, dar e în ordine

draw.rectangle(x1, y1, x2, y2)
draw.polygon(x1, y1,...,xN, yN)
0
adăugat