Canvas (balise html)
Un article de Wikipédia, l'encyclopédie libre.
La balise canvas est une extension non standard à la norme HTML qui permet d'effectuer des rendus dynamiques d'images bitmap via des scripts.
Introduite à l'origine par Apple pour être utilisé dans le composant WebKit pour Mac OS X, pour faire fonctionner des logiciels comme Dashboard et le navigateur Safari. Par la suite, elle a été adoptée par les navigateurs basés sur Gecko (notamment Mozilla et Firefox) et standardisée par le groupe de travail WHATWG comme une proposition à introduire dans la nouvelle génération des technologies web. Un support préliminaire est déjà présent dans les préversions techniques du navigateur Opera 9.0[1]. Novell a développé une extension activant les XForms dans Internet Explorer[2] et offrant ainsi un support des fonctionnalités de Canvas.
Canvas se résume en une région de dessin dont la hauteur et la largeur sont définies dans du code HTML. Du code Javascript permet d'accéder à l'aire via une série complète de fonctions de dessins, similaires aux autres APIs 2D, bien que permettant de générer dynamiquement des graphismes. Certaines personnes ont anticipé cet emploi de Canvas en l'utilisant pour des graphiques, des animations et de la création d'images.
Sommaire |
[modifier] Réactions
Lors de son introduction, la balise canvas a été accueillie de manière mitigée par la communauté des normes web. Certains se sont plaints de la décision d'Apple d'introduire cette balise propriétaire au lieu de supporter SVG, qui n'est pas encore complètement accepté sur le web. D'autres ont argumenté contre la logique même de la conception de canvas : étant complètement procédurale et n'ayant pas de contrepartie descriptive permettant à canvas de 'peindre', mais de dessiner des éléments ne sont pas identifiables dans une vision à la DOM. D'autres personnes ont soulevé le point que, non seulement c'est du propriétaire, mais aussi en rapport à la syntaxe proposé pour ses éléments. Par exemple, l'absence d'indication d'un namespace est[3] indésirable.
Un développeur web insatisfait par le niveau de support du format SVG dans Safari a été obligé de développer un traducteur du SVG Tiny 1.2 vers le canvas en Javascript, comme une preuve de concept contre les remarques qui disaient qu'il était plus facile d'ajouter canvas à Safari que la totalité de SVG[4].
[modifier] Notes
[modifier] Exemples
- Canvascape - Un jeu 3D créé via Canvas.
- WebMegaPong - Un clone avancé du célèbre Pong créé via Canvas.
- Fractals - Fractales Mandelbrot et Julia
- Fractals - Des rendus fractals plus complexes
- CanvasPaint - Un clone du logiciel Paint
- Frames - Traçage de bordures décoratives autour des balises HTML standards
- Tucanos - La démo "Tucanos"
- Free drawing - Un exemple d'outil de dessin.
- Cake - Un graphe de scene en javascript reposant sur Canvas.

