Zeichnen zentriert Bögen in Raphael js
Ich brauche, um zu zeichnen konzentrischen Bögen in verschiedenen Größen mit raphael.js. Ich habe versucht, den code verstehen, der hinter http://raphaeljs.com/polar-clock.htmldie ist sehr ähnlich zu dem, was ich will, aber ohne Kommentare, es ist ziemlich schwer zu ergründen.
Im Idealfall würde ich eine Funktion benötigen, erstellt einen Pfad, der sich in einem bestimmten Abstand von einigen Mittelpunkt, beginnt auf einen bestimmten Winkel und endet in einem anderen Winkel.
InformationsquelleAutor der Frage user592699 | 2011-02-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese Antwort ist ok, aber nicht animiert werden. Ich Riss die wichtigen Sachen aus der polar-Uhr für Sie da. Hier ist eine red arc animiert zu wachsen. genießen.
InformationsquelleAutor der Antwort genkilabs
Hier ist, wie ich es getan haben. Der folgende code ermöglicht Ihnen die Angabe eines start-und end-Winkel sowie einem inneren und äußeren radius (nützlich für diese trendy donut-Stil pie-charts). Die Lösung verlässt sich nicht auf die approximation einer Kurve durch Liniensegmente und animiert werden können wie pro die Uhr Beispiel erwähnt, in der ursprünglichen Frage.
Zuerst erstellen Sie Ihre Raphael-Zeichenfläche; im folgenden wird davon ausgegangen ein div mit der id "raphael_paper" in Ihrer HTML-Datei:
dieser Raphael-Objekt fügen wir eine benutzerdefinierte
arc
Attribut, eine Funktion, die den Mittelpunkt eines Kreises (x-und y-Koords), Anfangswinkel, Endwinkel, einem inneren radius und einem äusseren radius:nun können wir mit diesem Werkzeug zeichnen Bögen einer bestimmten Dicke, Start-und Ende-wo immer wir möchten, dass Sie zB.
Sollte dies die drei grauen Kreissegmente mit rot, blau und grün 1px Grenzen.
InformationsquelleAutor der Antwort Tom P
Eigentlich fand die Antwort selbst. Ich dachte zuerst, der etwas ausgefallenes mit bezier-Kurven, aber das funktioniert einfach.
-> erzeugt einen path SVG-Pfad-syntax, die funktioniert so wie Sie ist mit raphael
InformationsquelleAutor der Antwort user592699
Einfach zu entfernen, einige Annahmen aus dem user592699 Antwort, dies ist der komplette code, der funktioniert:
InformationsquelleAutor der Antwort 太極者無極而生
Für diejenigen, die wollen, dass der arc mit geschlossenen Pfad und nicht streicheln, ich verlängert genkilabs Antwort auf eine Lösung. In den Fällen, wenn Sie brauchen, um die äußere Kontur, um Ihre Bogen -, das könnte helfen.
JSFiddle
InformationsquelleAutor der Antwort Aun Rizvi
Können Sie dies auch tun, ohne Verwendung von Schleifen. Die folgenden erreicht dies und arbeitet mit negativen Winkeln.
Pass in einer Raphael-Objekt als r. Die Winkel beginnen mit 0 Grad, das ist die Spitze des Kreises, anstatt rechts, wie es aufgeführt wurde, in ein paar andere Lösungen.
InformationsquelleAutor der Antwort rchawdry
Habe ich angepasst genkilabs Antwort auf: Drehung und inversion Fähigkeiten. Auch, wie viel der ring ist gefüllt wurde geändert, um eine einzelne Zahl Prozent. (Die Umkehrung angepasst wurde von dieser Beitrag). Hoffe, es ist hilfreich!
InformationsquelleAutor der Antwort thislooksfun