API Canvas
- Pagina precedente Stile HTML
- Pagina successiva Console API
L'elemento <canvas> definisce un'area bitmap nella pagina HTML.
L'API Canvas permette a JavaScript di disegnare grafici sulla superficie.
L'API Canvas può disegnare forme, linee, curve, rettangoli, testo e immagini, nonché colori, rotazioni, trasparenze e altre operazioni sui pixel.
Aggiungi Canvas all'HTML
Puoi aggiungere l'elemento canvas in qualsiasi posizione della pagina HTML utilizzando il tag <canvas>:
Esempio
<canvas id="myCanvas" width="300" height="150"></canvas>
Come accedere all'elemento Canvas
Puoi accedere all'elemento <canvas> utilizzando il metodo HTML DOM getElementById():
const myCanvas = document.getElementById("myCanvas");
Per disegnare sulla superficie, devi creare l'oggetto contesto 2D:
const ctx = myCanvas.getContext("2d");
Note
L'elemento HTML <canvas> non ha funzionalità di disegno.
Devi utilizzare JavaScript per disegnare qualsiasi grafico.
Il metodo getContext() restituisce un oggetto con strumenti di disegno (metodi).
Disegnare sulla superficie
Dopo aver creato l'oggetto contesto 2D, puoi disegnare sulla superficie.
Il metodo fillRect() di seguito disegna un rettangolo nero con l'angolo in alto a sinistra situato in posizione 20,20. Il rettangolo ha una larghezza di 150 pixel e una altezza di 100 pixel:
Esempio
const myCanvas = document.getElementById("myCanvas"); const ctx = myCanvas.getContext("2d"); ctx.fillRect(20, 20, 150, 100);
Utilizzando il colore
L'attributo fillStyle imposta il colore di riempimento dell'oggetto di disegno.
Esempio
const myCanvas = document.getElementById("myCanvas"); const ctx = myCanvas.getContext("2d"); ctx.fillStyle = "red"; ctx.fillRect(20, 20, 150, 100);
Puoi anche creare un nuovo elemento <canvas> utilizzando il metodo document.createElement() e aggiungerlo alla pagina HTML esistente:
Esempio
const myCanvas = document.createElement("canvas"); document.body.appendChild(myCanvas); const ctx = myCanvas.getContext("2d"); ctx.fillStyle = "red"; ctx.fillRect(20, 20, 150, 100);
Percorso
I metodi comuni per disegnare su una superficie sono:
- Iniziare un percorso - beginPath()
- Spostarsi a un punto - moveTo()
- Disegnare all'interno del percorso - lineTo()
- Disegnare un percorso - stroke()
Esempio
const canvas = document.getElementById("myCanvas"); const ctx = canvas.getContext("2d"); ctx.beginPath(); ctx.moveTo(20, 20); ctx.lineTo(20, 100); ctx.lineTo(70, 100); ctx.stroke();
Colore, stile e ombra
Proprietà | Descrizione |
---|---|
fillStyle | Impostare o restituire il colore, la gradazione o il disegno utilizzati per il riempimento del disegno. |
strokeStyle | Impostare o restituire il colore, la gradazione o il disegno utilizzati per il tratto. |
shadowColor | Impostare o restituire il colore utilizzato per l'ombra. |
shadowBlur | Impostare o restituire il livello di sfocatura dell'ombra. |
shadowOffsetX | Imposta o restituisce la distanza orizzontale dell'ombra dal形状. |
shadowOffsetY | Imposta o restituisce la distanza verticale dell'ombra dal形状. |
Metodo | Descrizione |
---|---|
createLinearGradient() | Crea un gradiente lineare (usato per il contenuto del canvas). |
createPattern() | Ripeti l'elemento specificato nella direzione specificata. |
createRadialGradient() | Crea un gradiente radiale/circolare (usato per il contenuto del canvas). |
addColorStop() | Stabilisce i colori e le posizioni di arresto dell'oggetto gradiente. |
Stile della linea
Proprietà | Descrizione |
---|---|
lineCap | Imposta o restituisce lo stile della testa della linea. |
lineJoin | Imposta o restituisce il tipo di angolo creato quando due linee si intersecano. |
lineWidth | Imposta o restituisce la larghezza della linea corrente. |
miterLimit | Imposta o restituisce la lunghezza massima dell'assottigliamento. |
Rettangolo
Metodo | Descrizione |
---|---|
rect() | Crea un rettangolo. |
fillRect() | Disegna un rettangolo 'riempito'. |
strokeRect() | Disegna un rettangolo (nessun riempimento). |
clearRect() | Cancella i pixel specificati all'interno del rettangolo dato. |
Percorso
Metodo | Descrizione |
---|---|
fill() | Riempie il grafico corrente (percorso). |
stroke() | Disegna effettivamente il percorso definito. |
beginPath() | Inizia il percorso o ripristina il percorso corrente. |
moveTo() | Sposta il percorso al punto specificato sulla superficie del canvas senza creare una linea. |
closePath() | Crea un percorso che ritorna al punto di partenza. |
lineTo() | Aggiungi un nuovo punto e crea una linea dal punto alla posizione最后一个指定点最后一个指定点 sulla superficie del canvas. |
clip() | Taglia qualsiasi forma e dimensione di area dalla superficie originale del canvas. |
quadraticCurveTo() | Crea una curva Bezier di secondo ordine. |
bezierCurveTo() | Crea una curva Bezier di terzo ordine. |
arc() | Crea un arco/curva (usato per creare cerchi o parti di cerchi). |
arcTo() | Crea un arco/curva tra due tangenti. |
isPointInPath() | Restituisce true se il punto specificato si trova nel percorso corrente, altrimenti restituisce false. |
Trasformazione
Metodo | Descrizione |
---|---|
scale() | Ingrandisce o riduce il grafico corrente. |
rotate() | Ruota il grafico corrente. |
translate() | Rimappa la posizione (0,0) sulla superficie del canvas. |
transform() | Sostituisci la matrice di trasformazione corrente del disegno. |
setTransform() | Riporta la trasformazione corrente a matrice unitaria. Poi esegui transform(). |
Testo
Proprietà | Descrizione |
---|---|
font | Imposta o restituisce le proprietà di carattere correnti del contenuto del testo. |
textAlign | Imposta o restituisce il modo di allineamento corrente del contenuto del testo. |
textBaseline | Imposta o restituisce la linea di base corrente utilizzata per disegnare il testo. |
Metodo | Descrizione |
---|---|
fillText() | Disegna testo 'riempito' sul canvas. |
strokeText() | Disegna testo sul canvas (senza riempimento). |
measureText() | Restituisce un oggetto che contiene la larghezza del testo specificato. |
Disegno dell'immagine
Metodo | Descrizione |
---|---|
drawImage() | Disegna un'immagine, un canvas o un video sul canvas. |
Operazioni sui pixel
Proprietà | Descrizione |
---|---|
width | Restituisce la larghezza dell'oggetto ImageData. |
height | Restituisce l'altezza dell'oggetto ImageData. |
data | Restituisce un oggetto che contiene i dati dell'immagine di un oggetto ImageData specificato. |
Metodo | Descrizione |
---|---|
createImageData() | Crea un nuovo oggetto ImageData vuoto. |
getImageData() | Restituisce un oggetto ImageData che copia i dati dei pixel di un rettangolo specificato sul canvas. |
putImageData() | Restituisce i dati dell'immagine (da un oggetto ImageData specificato) sulla superficie del canvas. |
Composizione
Proprietà | Descrizione |
---|---|
globalAlpha | Imposta o restituisce il valore corrente di alpha o trasparenza del disegno. |
globalCompositeOperation | Imposta o restituisce come disegnare l'immagine nuova sull'immagine esistente. |
Altro
Metodo | Descrizione |
---|---|
save() | Salva lo stato corrente del contesto. |
restore() | Restituisce lo stato e le proprietà del percorso salvato in precedenza. |
createEvent() | |
getContext() | |
toDataURL() |
Proprietà e eventi standard
L'oggetto canvas supporta contemporaneamente gli standardProprietàeEventi.
Pagine correlate
Tutorial HTML:Canvas HTML5
Tutorial di immagini HTML:Tutorial del Canvas HTML
Manuale di riferimento HTML:Etichetta <canvas> HTML
- Pagina precedente Stile HTML
- Pagina successiva Console API