Vous pouvez me contacter via Facebook pour questions & suggestions :
Page Facebook relative à mon site
L'API Canvas ("toile" en français) faisant partie de la spécification HTML5, est implémentée par tous les navigateurs récents.
Ci-dessous une animation réalisée avec Canvas.
Pour aborder dans de bonnes conditions l'API Canvas vous devez maitriser en JavaScript : les variables, les conditions, les opérateurs, les itérations,
les fonctions (nommées et anonymes).
Dans ce site il y a un tuto complet sur le langage SVG :
dessins vectoriels avec SVG
Dessiner dans la page avec Canvas c'est écrire un peu de HTML et de CSS pour définir une zone de dessin.
Mais c'est surtout écrire un script sinon la zone de dessin reste vide ...
La méthode getContext('2d') appliquée à un élément de type HTMLCanvasElement (une balise canvas) crée un objet de type 2D.
Pour que le dessin s'affiche il faut bien sûr que JavaScript soit activé par le navigateur ce qui n'est pas toujours le cas ...
Attention les formes dessinées par le script dans la zone Canvas ne sont jamais des éléments du DOM (à la différence des objets SVG).
Il est donc impossible de les identifier en vue de les manipuler via le CSS.
L'API s'enrichit régulièrement de nouvelles méthodes qui simplifient le travail du développeur web.
Donc mon opinion vis à vis de cette API évolue favorablement.
À propos de l'API Canvas
Il est donc possible de dessiner dans une page web sans chargement préalable d'une librairie JS.
L'API Canvas s'améliore constamment en s'enrichissant de nouvelles méthodes qui permettent de dessiner des formes complexes en quelques lignes
de script.
Une belle animation Canvas
Pour l'animation Canvas, les fonctions natives setInterval() & clearInterval() sont très utilisées.
Suivez éventuellement le lien pour vous initier d'abord à JavaScript : mon tuto JavaScript
Vous devez aussi connaitre la notation SVG des chemins (en absolu et en relatif) :
la balise PATH de SVG - notation en absolu et en relatif d'un chemin
Intérêt de Canvas
Un dilemme cornélien
Si vous voulez dessiner dans une page Web vous avez deux solutions :
Principes de l'API Canvas
Attention une image produite par Canvas perd de la qualité lorsqu'elle est étirée puisqu'il s'agit d'une image matricielle.
Mais vous verrez que le rendu peut être tout à fait correct à condition de prendre certaines précautions ...
On peut ensuite appliquer à cet objet de type CanvasRenderingContext2D une multitude de méthodes pour dessiner rectangles,arcs de cercle
et d'ellipse, polygones, etc.
Inconvénient de l'API Canvas
Donc je vous conseille d'utiliser la balise NOSCRIPT pour avertir éventuellement le visiteur que le navigateur a bloqué l'exécution d'un
script.
Une API en constante évolution
Canvas est une librairie qui s'enrichit régulièrement
Dans les chapitres qui suivent j'évoque les méthodes récentes ellipse(), filter() et le constructeur path2D().
Les animations sont désormais plus fluides avec la méthode window.requestAnimationFrame()
Il y a encore peu, je doutais de l'utilité de cet outil puisqu'il existait une solution alternative : le langage SVG.
Mais compte tenu des améliorations constantes de cet outil, il est désormais possible de réaliser des beaux logos et des animations en
quelques lignes de code.