raphaël ist eine kleine JavaScript -Bibliothek, die von Dmitry Baranovskiy von Atlassian geschrieben wurde und die Sie erstellen können, die Vektorgrafiken auf Ihren Webseiten erstellen und manipulieren. Es ist erstaunlich einfach zu bedienen und browser kompatibel. Unterstützung des Internet Explorer 6.0, Safari 3.0, Firefox 3.0 und Opera 9.5. Innen Raphaël verwendet VML in IE und SVG in den anderen Browsern.
Jetzt sind Demos mit Kreisen und Quadraten in Ordnung, aber ich wollte ein Beispiel erstellen, das eine legitime, praktische Verwendung von Vektorgrafiken zeigte. Wie wäre es mit Echtzeitstatistikmessung? Hier ist ein Screenshot meines aktuellen Grafik-Nutzungs-Diagramms, in dem die Nutzungsstufen in Echtzeit „Kettenrad“ dargestellt werden. Das Beste von allem, es war ein Schnappschuss.
Die HTML ist einfach; Wir brauchen nur eine Überschrift und einen Behälter, um unsere Leinwand zu halten - ein Divelelement:
<h1>Current Sprocket Usage: <span ></span></h1> <div ></div>
Zu Beginn müssen wir eine neue Grafik -Leinwand generieren. Ich möchte immer meinen gesamten Code in eine Objektdefinition platzieren, um einen separaten Namespace zu erstellen. Daher beginnen wir mit dem folgenden Code:
var SpGraph = { init : function(){ SpGraph.graph = Raphael("graph", 400, 200); SpGraph.graph.rect(0, 0, 390, 110, 10).attr("fill", "#000"); } } window.onload = function () { SpGraph.init(); };
Verwenden des Fensters.onload wir nennen wir unsere spGraph.init -Methode. Innerhalb dieser Methode erstellen wir unsere Leinwand mit Raphael ("Graph", 400, 200). Das erste Argument ist die ID unseres Containerelements, die anderen beiden stellen Breite und Höhe dar. Wir speichern das zurückgegebene Canvas -Objekt in unserer Eigenschaft von SpGraph.graph. Mit der nächsten Zeile erstellen wir ein Rechteck und setzen einige Attribute:
SpGraph.graph.rect(0, 0, 390, 110, 10).attr("fill", "#000");
Mit der RECT -Methode können wir ein Rechteck zeichnen, das die X -Koordinate, die Y -Koordinate, die Breite, die Höhe und optional einen Eckradius angibt. Beachten Sie, dass wir auch einen Anruf an die ATT -Methode zum Einstellen der Füllfarbe gekettet haben. Alle Raphaël -Grafikobjekte unterstützen die ATT -Methode und es gibt eine Reihe von Attributen, die Sie festlegen können. Raphaël unterstützt die Erkettung aller seiner Methoden, die wir bald nutzen werden. Unsere bisherigen Bemühungen haben zu diesem schönen schwarzen Rechteck mit abgerundeten Ecken geführt.
Lassen Sie uns jetzt Streifen hinzufügen! Zu diesem Zweck fügen wir der Spraph.init -Methode die folgende Schleife hinzu:
for(var x = 10; x < 110; x += 10) { var c = (x > 10) ? "#333" : "#f00"; SpGraph.graph.path({stroke: c}).moveTo(0, x).lineTo(390,x); }
Die Schleife führt jedes Mal das 10 -fache aus. Eine rote Linie für die erste und eine graue Linie für die anderen. Die Raphaël -Pfadmethode initialisiert den Pfadmodus des Zeichnens und gibt ein Pfadobjekt zurück. Es zeichnet nichts selbst. Sie müssen die Pfadobjektmethoden verwenden, die kettenfähig sind. Die Moveto -Methode verschiebt den Zeichnungscursor in die angegebenen X- und Y -Koordinaten, und die Lineto -Methode zeichnet eine Linie vom Cursorpunkt zum angegebenen Punkt. Das Ergebnis ist der stripey -Hintergrund unten:
Jetzt müssen wir die eigentliche Graphinie zeichnen. Die vertikale Achse (dargestellt durch die Streifen) ist das prozentuale Nutzungsniveau. Die horizontale Achse repräsentiert die Zeit in 10 Pixel -Schritten. In der realen Welt würde jede Aktualisierung des Diagramms über einen Ajax -Anruf erhalten, sagen wir alle 5 Sekunden, aber hier erstelle ich nur zufällige Werte und aktualisiere die Grafik jede Sekunde. Noch einmal verwenden wir die Pfadmethode, um eine 5 Pixel breite Linie zu zeichnen.
Wir haben den Pfad initial und speichern die Referenz darauf in der SPGRAPH.Path -Eigenschaft wie SO:
<h1>Current Sprocket Usage: <span ></span></h1> <div ></div>
Bei jedem Update erweitern wir die Zeile mit der Lineto -Methode wie SO:
var SpGraph = { init : function(){ SpGraph.graph = Raphael("graph", 400, 200); SpGraph.graph.rect(0, 0, 390, 110, 10).attr("fill", "#000"); } } window.onload = function () { SpGraph.init(); };
SpGraph.graph.rect(0, 0, 390, 110, 10).attr("fill", "#000");
for(var x = 10; x < 110; x += 10) { var c = (x > 10) ? "#333" : "#f00"; SpGraph.graph.path({stroke: c}).moveTo(0, x).lineTo(390,x); }
Vergessen Sie nicht, dass es in der Demo funktioniert. OK, vielleicht ist ein Kettenradnutzungsdiagramm nicht genau das legitime, praktische Beispiel, das ich versprochen habe, aber zumindest haben Sie einen Blick auf das, was Sie mit Raphaël mit nur wenigen Anstrengungen erreichen können. Die Dokumentation auf der Website ist nicht vollständig, aber es ist sowieso nicht zu schwierig zu trainieren. Warum hast du es nicht aus? Schnelle, einfache, browser kompatible Vektorgrafik im Web war noch nie einfacher.
Das obige ist der detaillierte Inhalt vonEinfache Vektorgrafiken mit der Raphaël JavaScript -Bibliothek. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!