Disons que j'ai un chemin courbe fait en utilisant une série de bezierCurveTo()
appels. Je voudrais le faire apparaître progressivement dans une animation, en augmentant le pourcentage de celui-ci qui est tracé image par image. Le problème est que je ne peux pas trouver un moyen standard de dessiner seulement une partie d'un chemin de toile - quelqu'un serait-il au courant d'un bon moyen (ou même d'une manière compliquée) d'y parvenir?Comment dessiner un chemin partiellement dans le canevas de HTML5?
Répondre
Je viens de trouver une petite bibliothèque qui fait exactement cela: https://github.com/camoconnell/lazy-line-painter
Il repose sur le Raphael lib (http://raphaeljs.com/), et les deux mis ensemble ne font pas trop grand une charge utile.
Bien sûr ... et Simon Porritt a fait tous les calculs difficiles pour nous! JsBezier est un petit lib avec une fonction: pointAlongCurveFrom (courbe, emplacement, distance) qui vous permettra de tracer incrémentalement chaque point le long de votre courbe de Bézier.
jsBezier est disponible sur GitHub: https://github.com/sporritt/jsBezier
Merci - cependant j'ai essayé cette méthode (en traçant des points le long de la courbe) avec d'autres environnements et le résultat est malheureusement assez lent à cause du surhaussement élevé. Cela pourrait être utilisé jusqu'à ce qu'une façon d'utiliser les tirets soit standardisée (l'utilisation de lignes pointillées est un moyen facile d'obtenir cet effet). Toujours ouvert à d'autres réponses. – Gnurou
BTW, je ne l'ai pas essayé, mais je pense que Chrome prend désormais en charge les lignes en pointillés avec context.setLineDash ([5]). – markE
C'est vrai - je voudrais rester dans la zone entièrement compatible si :) – Gnurou
- 1. Dessiner des images sur le canevas HTML5
- 2. Comment dessiner moniteur ECG dans le canevas en utilisant HTML5?
- 3. Comment dessiner un segment d'un donut avec un canevas HTML5?
- 4. Comment dessiner des polygones sur un canevas HTML5?
- 5. Coup de ligne double dans le canevas html5
- 6. Dessiner une flèche sur le canevas HTML5 entre deux objets
- 7. Dessiner Lignes dans le canevas
- 8. "Effacement" dans le canevas html5
- 9. Est-il possible de dessiner plusieurs cercles pleins dans un seul chemin sur le canevas?
- 10. Redimensionner le canevas HTML5
- 11. Un problème de canevas HTML5
- 12. Polygone redimensionnable de canevas HTML5
- 13. Dessiner sur un canevas enfant
- 14. dessiner un canevas 3D rectangle
- 15. Création d'un objet de canevas HTML5 Création d'un chemin aléatoire
- 16. html5 dessin de canevas/enregistrement
- 17. Comment dessiner une ligne courbe quadratique entre deux objets texte dans un canevas HTML5?
- 18. Comment sauvegarder l'image de l'iframe sous un canevas HTML5?
- 19. Problème de canevas HTML5?
- 20. html5 manipuler les éléments dans le canevas
- 21. Matrice de transformation de canevas HTML5
- 22. L'animation est lente dans le canevas HTML5
- 23. Essayer de changer dynamiquement un contexte.clip(); dans un canevas HTML5
- 24. Pause et reprise pour le canevas HTML5?
- 25. Importer une image sur un canevas html5
- 26. Défilement horizontal sur le canevas. HTML5
- 27. Créer un arc non rempli dans le canevas html5?
- 28. Dessin d'une image sur le canevas html5
- 29. Masque pour putImageData avec un canevas HTML5?
- 30. bibliothèque de canevas pour dessiner des images
Cette réponse à une question précédente peut vous être utile. http://stackoverflow.com/questions/878862/drawing-part-of-a-bezier-curve-by-reusing-a-basic-bezier-curve-function – jing3142
Oh, c'est très utile. Gloire. – Gnurou