Dans cet article Dessiner des lignes sur toile, j'ai expliqué comment dessiner des lignes droites. Logiquement, cet article sur le dessin de courbes aurait dû être publié depuis longtemps, mais comme dessiner des courbes sur toile est assez particulier, je ne l'ai pas fait. Je ne l'ai pas encore compris, alors essayez-le étape par étape.
L'une des difficultés du dessin de courbes dans Canvas est qu'il n'y a que 4 fonctions pour les courbes ! Ce sont arc, arcTo, quadraticCurveTo et bezierCurveTo. Permettez-moi de commencer par la méthode d'arc la plus simple.
La fonction de l'arc est de tracer un arc régulier, qui peut être un cercle complet ou un certain arc de cercle. La syntaxe de arc est la suivante : 🎜>
context.arc(x, y, radius, startAngle, endAngle, antihoraire)
Je vais vous expliquer ses paramètres, c'est-à-dire
arc(centre du cercle x, centre du cercle y, rayon, angle de départ, angle de fin, dans le sens inverse des aiguilles d'une montre ou non)
Copiez le code
Le code est le suivant :
ctx.arc(400,400,20,0,Math.PI*2
ctx.fill(); >Comme lineTo, arc est également un chemin de dessin, nous devons donc appeler la méthode de remplissage ou de trait derrière lui pour afficher les graphiques (le style de trait rouge et le style de remplissage rouge translucide sont utilisés dans l'image).
Copier le code
Le code est le suivant :
ctx.arc(400,400, 20,0 ,Math.PI*2/4);
À partir de la figure, nous pouvons déterminer que 0 degré d'arc est 0 degré couramment utilisé en mathématiques , mais l'angle par défaut est L'aiguille des heures est ouverte, ce qui est opposé au modèle mathématique (il est lié aux coordonnées, car les coordonnées du canevas sont également opposées aux coordonnées mathématiques).
Le code est le suivant :
ctx.arc(400,400, 20,0 ,Math.PI*2/4,true);
Vous verrez que l'angle devient dans le sens inverse des aiguilles d'une montre, ce qui fait que l'arc devient 360 -90. =270 degrés.
Copier le code
Le code est le suivant :
ctx.arc(400,400, 20,Math .PI*2/4,Math.PI*2 Math.PI);
Si notre point de départ est de 90 degrés et que le point final est également de 90 degrés, le résultat est que rien peut être dessiné, j'ai donc mis le point final. L'angle a été modifié à 180 degrés, et finalement le graphique ci-dessous a été obtenu.
Copier le code
Codez comme suit :
ctx.arc(400,400,20,Math.PI*2/4,Math.PI*2 Math.PI*2/4); /Le point de départ est de 90 degrés, le point final est de 360 90 degrés
Cependant, cette approche ne fait que chercher les ennuis, et les gens normaux ne l'utiliseraient pas.
Résumé : La méthode de l'arc de Canvas est un moyen de dessiner un arc positif. Elle ne peut dessiner que des arcs positifs et ne peut pas dessiner d'autres arcs étranges, tels que la forme en S - même si je préfère celui-ci. -en forme.