<Emanvas> est un tout nouvel élément de HTML5, qui peut être utilisé par JavaScript pour dessiner des graphiques. Tout d'abord, <Canvas> a été introduit sur le tableau de bord Mac OS X d'Apple, qui a été appliqué à Safari, puis basé sur le navigateur Gecko1.8, qui prend également en charge ce nouvel élément, comme le navigateur Firefox. Aujourd'hui, l'élément <Canvas> fait partie de la spécification standard HTML5.
Nous expliquerons ce que <lebvas> peut faire, via ce tutoriel, et il peut être utilisé comme point de départ pour votre application <Canvas>. L'apprentissage des éléments <Canvas> n'est pas difficile. Il vous suffit d'avoir les connaissances de base de HTML et JavaScript, ainsi que du navigateur Firefox, de la dernière version de Safari ou Opera9 +, afin que vous puissiez voir tous les effets d'exemples.
Commençons maintenant par la définition de l'élément <Canvas>.
<Canvas ID = Tutorial Width = 150 Hight = 150> </ Canvas>
L'élément <Canvas> n'a que deux attributs, la largeur et la hauteur, qui sont facultatifs et peuvent être contrôlés à l'aide de DOM ou CSS. Si la largeur et la hauteur ne sont pas définies, la largeur par défaut est de 300 pixels et 150 pixels de haut est utilisée. Bien que la taille de <Canvas> puisse être contrôlée et ajustée via CSS, l'image rendue sera mise à l'échelle pour s'adapter à la disposition. Une fois que les résultats de rendu se sont déformés, vous n'avez pas à compter sur CSS. Vous pouvez spécifier les valeurs de largeur et de hauteur affichées dans <Canvas>. Tout comme les balises HTML standard, les attributs d'ID peuvent également être définis, ce qui peut rendre l'application de script plus pratique. L'élément <Canvas> peut spécifier son style (marges, bordures, arrière-plans, etc.) comme une image normale. Cependant, ces styles n'ont aucun effet sur l'image réelle générée par toile.
Parce que cet élément est relativement nouveau, tous les navigateurs ne le soutiennent pas, nous devons donc fournir des informations d'affichage alternatives à ceux qui ne peuvent pas parcourir normalement. Il peut utiliser du texte ou des images:
- <Canvasid = StockGraphWidth = 150Height = 150>
- Votre navigateur ne prend pas en charge l'élément <Canvas>.
- </ canvas>
- <Canvasid = ClockWidth = 150Height = 150>
- <imgsrc = images.pngWidth = 150Height = 150ALT = Remplacer l'image /
- </ canvas>
Dans Apple Safari, la mise en œuvre de <Canvas> est très similaire à <MG>, et il n'a pas de balise de fin. Cependant, pour que <Alevas> soit largement applicable dans le monde du Web, le contenu alternatif doit être fourni avec un endroit où séjourner, il est donc nécessaire de mettre fin à la balise (</bovvas>) dans l'implémentation de Mozilla. <canvas id = foo ...> </ canvas> est entièrement compatible avec Safari et Mozilla - Safari ignore simplement la balise d'extrémité. S'il y a un contenu alternatif, vous pouvez utiliser certaines astuces CSS pour masquer un contenu alternatif et uniquement pour Safari, car ces contenus alternatifs doivent être affichés dans IE mais pas dans Safari.
<Canvas> Crée un écran de dessin de taille fixe avec un ou plusieurs contextes de rendu qui peuvent contrôler ce qu'il faut afficher. Nous nous concentrons sur le rendu 2D, qui est également la seule option actuellement. Nous pouvons ajouter un rendu 3D basé sur les ouvertures à l'avenir.
- varCanvas = document.getElementById ('tutoriel');
- varctx = canvas.getContext ('2d');
Expliquons le code ci-dessus. L'initialisation de <Canvas> est vide. Pour dessiner un script, vous devez d'abord rendre le contexte. Il peut être obtenu via la méthode GetContext de l'objet élément canvas. Dans le même temps, certaines fonctions qui doivent être appelées pour le dessin sont également obtenues. getContext () accepte une valeur qui décrit son type comme un argument. La première ligne ci-dessus obtient le nœud Dom de l'objet Canvas via la méthode GetElementByid. Utilisez ensuite sa méthode GetContext pour obtenir son contexte de fonctionnement de dessin. De plus, nous pouvons également utiliser des scripts pour déterminer la prise en charge du navigateur pour <Canvas>, c'est-à-dire pour déterminer si le GetContext existe.
- varCanvas = document.getElementById ('tutoriel');
- if (canvas.getContext) {
- varctx = canvas.getContext ('2d');
- // DrawingCodehere
- }autre{
- // Canvas-unsupportedCodehere
- }
Nous commençons par le modèle le plus simple ci-dessous, vous pouvez les copier dans votre sauvegarde locale.
- <html>
- <adal>
- <Title> Canvastuorial </Title>
- <ScriptType = Text / JavaScript>
- functiondraw () {
- varCanvas = document.getElementById ('tutoriel');
- if (canvas.getContext) {
- varctx = canvas.getContext ('2d');
- }
- }
- </cript>
- <Styletype = Text / CSS>
- Canvas {Border: 1PxSolidBlack;}
- </ style>
- </ head>
- <BodyOnload = Draw ();>
- <Canvasid = TutorialWidth = 150Height = 150> </ Canvas>
- </docy>
- </html>
Vous trouverez attentivement une fonction appelée Draw, qui sera exécutée une fois la page chargée (en définissant la propriété Onload de la balise corporelle), et bien sûr, il peut également être appelé dans Settimeout, SetInterval ou d'autres fonctions de traitement des événements.
Pour commencer, jetons un look simple - dessinez deux rectangles entrelacés, dont l'un a un effet transparent alpha. Nous vous donnerons un aperçu détaillé de la façon dont cela fonctionne dans l'exemple suivant.
- <html>
- <adal>
- <ScriptType = application / x-javascript>
- functiondraw () {
- varCanvas = document.getElementById (canvas);
- if (canvas.getContext) {
- varctx = canvas.getContext (2d);
- CTX.FillStyle = RGB (200,0,0);
- CTX.Fillrect (10,10,55,50);
- ctx.fillStyle = rgba (0,0,200,0,5);
- CTX.Fillrect (30,30,55,50);
- }
- }
- </cript>
- </ head>
- <BodyOnload = Draw ();>
- <canvasid = canvaswidth = 150Height = 150> </ canvas>
- </docy>
- </html>
Vous pouvez copier le code ci-dessus sur le fichier HTML pour exécuter, rendu: