Canvas HTML5
- Pagina precedente Proprietà dei moduli HTML Input
- Pagina successiva HTML5 SVG
L'elemento canvas viene utilizzato per disegnare grafici sul web.
Cos'è Canvas?
L'elemento canvas di HTML5 utilizza JavaScript per disegnare immagini sul web.
La galleria è un'area rettangolare, ogni pixel della quale può essere controllato.
Canvas ha molti metodi di disegno di percorso, rettangolo, cerchio, caratteri e aggiunta di immagini.
Creare l'elemento Canvas
Aggiungere l'elemento canvas alla pagina HTML5.
Definire l'id dell'elemento, la larghezza e l'altezza:
<canvas id="myCanvas" width="200" height="100"></canvas>
Disegno tramite JavaScript
L'elemento canvas in sé non ha la capacità di disegno. Tutta la lavorazione di disegno deve essere completata internamente con JavaScript:
<script type="text/javascript"> var c=document.getElementById("myCanvas"); var cxt=c.getContext("2d"); cxt.fillStyle="#FF0000"; cxt.fillRect(0,0,150,75); </script>
JavaScript utilizza l'id per trovare l'elemento canvas:
var c=document.getElementById("myCanvas");
Poi, crea l'oggetto context:
var cxt=c.getContext("2d");
L'oggetto getContext("2d") è un oggetto HTML5 integrato che offre vari metodi per disegnare percorsi, rettangoli, cerchi, testi e aggiungere immagini.
Le due righe di codice seguenti disegnano un rettangolo rosso:
cxt.fillStyle="#FF0000"; cxt.fillRect(0,0,150,75);
Il metodo fillStyle lo rende rosso, il metodo fillRect specifica la forma, la posizione e le dimensioni.
Comprendere le coordinate
Il metodo fillRect sopra ha i parametri (0,0,150,75).
Questo significa: disegna un rettangolo di 150x75 sul canvas, partendo dall'angolo in alto a sinistra (0,0).
Come illustrato di seguito, le coordinate X e Y del canvas vengono utilizzate per posizionare i disegni sul canvas.

Esempio: posizionare il mouse sopra il rettangolo per vedere le coordinate
Altri Esempi Canvas
Di seguito ulteriori esempi di disegno su elementi canvas:
Esempio - Linee
Disegna una linea specificando il punto di partenza e di arrivo:

Codice JavaScript:
<script type="text/javascript"> var c=document.getElementById("myCanvas"); var cxt=c.getContext("2d"); cxt.moveTo(10,10); cxt.lineTo(150,50); cxt.lineTo(10,50); cxt.stroke(); </script>
Elemento canvas:
<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;"> Il tuo browser non supporta l'elemento canvas. </canvas>
Esempio - Cerchi
Disegna un cerchio specificando le dimensioni, il colore e la posizione:

Codice JavaScript:
<script type="text/javascript"> var c=document.getElementById("myCanvas"); var cxt=c.getContext("2d"); cxt.fillStyle="#FF0000"; cxt.beginPath(); cxt.arc(70,18,15,0,Math.PI*2,true); cxt.closePath(); cxt.fill(); </script>
Elemento canvas:
<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;"> Il tuo browser non supporta l'elemento canvas. </canvas>
Esempio - Gradienti
Utilizza il colore specificato per disegnare lo sfondo渐变:

Codice JavaScript:
<script type="text/javascript"> var c=document.getElementById("myCanvas"); var cxt=c.getContext("2d"); var grd=cxt.createLinearGradient(0,0,175,50); grd.addColorStop(0,"#FF0000"); grd.addColorStop(1,"#00FF00"); cxt.fillStyle=grd; cxt.fillRect(0,0,175,50); </script>
Elemento canvas:
<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;"> Il tuo browser non supporta l'elemento canvas. </canvas>
Esempio - Immagine
Inserisci un'immagine sulla tela:

Codice JavaScript:
<script> window.onload = function() { var canvas = document.getElementById("myCanvas"); var ctx = canvas.getContext("2d"); var img = document.getElementById("scream"); ctx.drawImage(img, 10, 10); }; </script>
Elemento canvas:
<canvas id="myCanvas" width="244" height="182" style="border:1px solid #d3d3d3;"> Il tuo browser non supporta l'etichetta canvas HTML5. </canvas>
Tutorial HTML Canvas
Per ulteriori informazioni sulla pittura a tela, visitare il nostro Tutorial HTML Canvas.
Pagine correlate
Manuale di riferimento:Etichetta <canvas> HTML 5
Manuale di riferimento:Oggetto Canvas DOM HTML
- Pagina precedente Proprietà dei moduli HTML Input
- Pagina successiva HTML5 SVG