Auf einer Webseite möchte ich sehr grundlegende Flussdiagramme, d. H. Ein paar durch Linien verbundene Felder, dynamisch darstellen. Im Idealfall könnte der Benutzer dann auf eines dieser Felder (DIVs?) Klicken und auf eine andere Seite gelangen. Der Rückgriff auf Flash scheint ein Overkill zu sein. Kennt jemand eine clientseitige (d. H. Serverunabhängige) Javascript- oder CSS-Bibliothek/Technik, die dabei helfen kann?Gibt es eine Bibliothek zum Rendern von grundlegenden Ablaufdiagrammen in Javascript/CSS?
Antwort
Muss das Rendering clientseitig sein?
Wenn ja, könnten Sie versuchen, Verarbeitung:
http://ejohn.org/blog/processingjs/
Wenn Sie es Server-Seite tun können, dann Graphviz ist eine gute Wahl.
Diese Art von Flussdiagramm erreicht werden kann mit Hilfe von CSS, den Rückgriff auf JavaScript Grafikbibliotheken (Leinwand) könnte zu viel des Guten. Vielleicht möchten Sie überprüfen, wie einige Genealogie-Websites dies tun, um einen Stammbaum zu erhalten.
Das beste und einfachste, das ich fand, ist js-graph.it.
Es hat auch dieses nützliche Feature: deciding the orientation of the flow. In meinem Fall habe ich zum Beispiel einen Dokumenten-Workflow, also muss ich ihn zur rechten Seite fließen lassen. Eine weitere einfachere Alternative ist wz_jsGraphics. In meinem Fall zeichne ich die Pfeile so:
/**Draw an arrow made of 3 lines.
* Requires wz_jsGraphics (http://www.walterzorn.de/en/jsgraphics/jsgraphics_e.htm).
* @canvas a jsGraphics object used as canvas
* @blockFrom id of the object from which the arrow starts
* @blockTo id of the object where the arrow ends with a arrowhead
*/
function drawArrow(canvas, blockFrom, blockTo){
//blocks
var f = $("#" + blockFrom);
var t = $("#" + blockTo);
//lines positions and measures
var p1 = { left: f.position().left + f.outerWidth(), top: f.position().top + f.outerHeight()/2 };
var p4 = { left: t.position().left, top: t.position().top + t.outerHeight()/2 };
var mediumX = Math.abs(p4.left - p1.left)/2;
var p2 = { left: p1.left + mediumX, top: p1.top };
var p3 = { left: p1.left + mediumX, top: p4.top };
//line A
canvas.drawLine(p1.left, p1.top, p2.left, p2.top);
//line B
canvas.drawLine(p2.left, p2.top, p3.left, p3.top);
//line C
canvas.drawLine(p3.left, p3.top, p4.left, p4.top);
//arrowhead
canvas.drawLine(p4.left - 7, p4.top - 4, p4.left, p4.top);
canvas.drawLine(p4.left - 7, p4.top + 4, p4.left, p4.top);
}
var jg = new jsGraphics('myCanvasDiv');
drawArrow(jg, 'myFirstBlock', 'mySecondBlock');
jg.paint();
- 1. Gibt es eine Bibliothek zum Generieren von ods/xlsx-Dokumenten?
- 2. Gibt es eine Methode zum Rendern eines Objekts mit DebuggerDisplayAttribute
- 3. Gibt es eine Emacs Lisp-Bibliothek zum Generieren von HTML?
- 4. Gibt es eine freie Bibliothek zum Analysieren von .MSG-Dateien?
- 5. Gibt es eine Python-Bibliothek zum Generieren von .ico-Dateien?
- 6. Gibt es eine Java-Bibliothek zum Formatieren von SQL?
- 7. Gibt es eine Java-Bibliothek zum Schreiben von Ply-Dateien?
- 8. Gibt es eine Bibliothek zum Lesen von DACPAC-Dateien?
- 9. Gibt es eine Java-Bibliothek zum Rendern mit einer Voxel-Engine?
- 10. Gibt es eine Bibliothek getNLMultibutton?
- 11. Erstellen von Ablaufdiagrammen
- 12. Gibt es eine Möglichkeit SVG in Windows Forms zu rendern?
- 13. Gibt es eine .net-Bibliothek zum Analysieren relativer Webadressen?
- 14. Gibt es eine Python-Bibliothek zum einfachen Schreiben zoombarer Benutzeroberflächen?
- 15. Erstellen von Ablaufdiagrammen in LibreOffice mit Python
- 16. Gibt es in .NET eine DECAPTCHA-Bibliothek?
- 17. Python-Bibliothek zum Rendern von HTML und Javascript
- 18. Gibt es eine Calculus-Bibliothek für JavaScript?
- 19. Gibt es eine Rails 4 Backports-Bibliothek?
- 20. JavaScript: Gibt es eine utils-Bibliothek?
- 21. Gibt es eine Möglichkeit, partielle Ansichten in WebForms zu rendern?
- 22. PDF-Bibliothek zum Rendern der PDF-Dateien in Android
- 23. PHP: Gibt es eine Bluetooth RFCOMM-Bibliothek?
- 24. Gibt es eine C# -Reaktor/Proactor-Bibliothek?
- 25. Gibt es eine C++ XSLT-Bibliothek?
- 26. Gibt es eine C++ plattformübergreifende USB-Bibliothek?
- 27. Gibt es eine hashmap-Bibliothek für JavaScript?
- 28. Gibt es eine eigenständige PHP-Routing-Bibliothek?
- 29. Gibt es in CPAN eine gute Bibliothek zum Filtern von Cross-Site-Scripting (XSS)?
- 30. Gibt es in .NET eine gute Bibliothek zum Parsen/Anzeigen von ICS-Feeds?