In diesem Artikel Zeichnen von Linien auf Leinwand habe ich darüber gesprochen, wie man gerade Linien zeichnet. Logischerweise hätte dieser Artikel über das Zeichnen von Kurven schon vor langer Zeit veröffentlicht werden sollen, aber da das Zeichnen von Kurven auf Leinwand etwas ganz Besonderes ist, habe ich ihn nicht veröffentlicht. Ich habe es noch nicht herausgefunden, also probieren Sie es Schritt für Schritt aus.
Eine der Schwierigkeiten beim Zeichnen von Kurven auf Leinwand besteht darin, dass es nur 4 Funktionen für Kurven gibt! Dies sind arc, arcTo, quadraticCurveTo und bezierCurveTo. Beginnen wir mit der einfachsten arc-Methode.
Die Funktion von arc besteht darin, einen regelmäßigen Bogen zu zeichnen, der ein vollständiger Kreis oder ein bestimmter Kreisbogen sein kann. Die Syntax für arc lautet wie folgt: 🎜>
context.arc(x, y, radius, startAngle, endAngle, anticlock)
Ich werde seine Parameter erklären, d. h.
Bogen(Kreismittelpunkt x, Kreismittelpunkt y, Radius, Startwinkel, Endwinkel, gegen den Uhrzeigersinn oder nicht)
Kopieren Sie den Code
Der Code ist wie folgt:
ctx.arc(400,400,20,0,Math.PI*2);
ctx.fill(); >Wie lineTo ist auch arc ein Zeichenpfad, daher müssen wir die Fill- oder Stroke-Methode dahinter aufrufen, um die Grafiken anzuzeigen (im Bild werden roter StrokeStyle und durchscheinender roter FillStyle verwendet).
Code kopieren
Der Code lautet wie folgt:
ctx.arc(400,400, 20,0 ,Math.PI*2/4);
Aus der Abbildung können wir ermitteln, dass 0 Bogengrad 0 Grad sind, die üblicherweise in der Mathematik verwendet werden , aber der Winkel ist standardmäßig auf Der Stundenzeiger ist geöffnet, was dem mathematischen Modell entgegengesetzt ist (es hängt mit den Koordinaten zusammen, da die Leinwandkoordinaten auch den mathematischen Koordinaten entgegengesetzt sind).
Der Code lautet wie folgt:
ctx.arc(400,400, 20,0 ,Math.PI*2/4,true);
Sie werden sehen, dass der Winkel gegen den Uhrzeigersinn wird, wodurch der Bogen 360 -90 wird =270 Grad.
Code kopieren
Der Code lautet wie folgt:
ctx.arc(400,400, 20,Math .PI*2/4,Math.PI*2 Math.PI);
Wenn unser Startpunkt 90 Grad ist und der Endpunkt ebenfalls 90 Grad ist, ist das Ergebnis, dass nichts kann gezeichnet werden, also habe ich den Endpunkt gesetzt. Der Winkel wurde auf 180 Grad geändert und schließlich wurde die folgende Grafik erhalten.
Code kopieren
Code wie folgt:
ctx.arc(400,400,20,Math.PI*2/4,Math.PI*2 Math.PI*2/4); / /Der Startpunkt ist 90 Grad, der Endpunkt ist 360 90 Grad
Dieser Ansatz ist jedoch nur auf der Suche nach Ärger und normale Menschen würden ihn nicht verwenden.
Zusammenfassung: Die Bogenmethode von Canvas ist eine Möglichkeit, einen positiven Bogen zu zeichnen und keine anderen seltsamen Bögen, wie z. B. eine S-Form, zu zeichnen – obwohl mir S am besten gefällt -förmig.