Grafica su tela HTML
L'elemento HTML <canvas>
viene utilizzato per disegnare la grafica su una pagina web.
Il grafico a sinistra viene creato con <canvas>
. Mostra quattro elementi: un rettangolo rosso, un rettangolo sfumato, un rettangolo multicolore e un testo multicolore.
Cos'è la tela HTML?
L'elemento HTML <canvas>
viene utilizzato per disegnare grafici, al volo, tramite JavaScript.
L' <canvas>
elemento è solo un contenitore per la grafica. Devi usare JavaScript per disegnare effettivamente la grafica.
Canvas ha diversi metodi per disegnare percorsi, riquadri, cerchi, testo e aggiungere immagini.
Supporto browser
I numeri nella tabella specificano la prima versione del browser che supporta completamente l'
<canvas>
elemento.
Element | |||||
---|---|---|---|---|---|
<canvas> | 4.0 | 9.0 | 2.0 | 3.1 | 9.0 |
Esempi di tela
Una tela è un'area rettangolare su una pagina HTML. Per impostazione predefinita, una tela non ha bordo né contenuto.
Il markup è simile a questo:
<canvas id="myCanvas" width="200" height="100"></canvas>
Nota: specificare sempre un id
attributo (a cui fare riferimento in uno script) e un attributo width
e height
per definire la dimensione dell'area di disegno. Per aggiungere un bordo, utilizzare l' style
attributo.
Ecco un esempio di una tela di base vuota:
Esempio
<canvas id="myCanvas" width="200" height="100"
style="border:1px solid
#000000;">
</canvas>
Aggiungi un JavaScript
Dopo aver creato l'area rettangolare della tela, è necessario aggiungere un JavaScript per eseguire il disegno.
Ecco alcuni esempi:
Disegna una linea
Esempio
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.moveTo(0, 0);
ctx.lineTo(200, 100);
ctx.stroke();
</script>
Disegna un cerchio
Esempio
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.beginPath();
ctx.arc(95, 50, 40, 0, 2 * Math.PI);
ctx.stroke();
</script>
Disegna un testo
Esempio
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.font = "30px Arial";
ctx.fillText("Hello World", 10, 50);
</script>
Testo tratto
Esempio
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.font = "30px Arial";
ctx.strokeText("Hello World", 10, 50);
</script>
Disegna gradiente lineare
Esempio
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
// Create gradient
var grd = ctx.createLinearGradient(0, 0, 200, 0);
grd.addColorStop(0, "red");
grd.addColorStop(1, "white");
// Fill with gradient
ctx.fillStyle = grd;
ctx.fillRect(10, 10, 150, 80);
</script>
Disegna gradiente circolare
Esempio
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
// Create gradient
var grd = ctx.createRadialGradient(75, 50, 5, 90, 60, 100);
grd.addColorStop(0, "red");
grd.addColorStop(1, "white");
// Fill with gradient
ctx.fillStyle = grd;
ctx.fillRect(10, 10, 150, 80);
</script>
Disegna immagine
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var img = document.getElementById("scream");
ctx.drawImage(img, 10, 10);
</script>
Esercitazione su tela HTML
Per saperne di più <canvas>
, leggi il nostro Tutorial HTML Canvas .