Canvas API
- Edellinen sivu HTML Tyyli
- Seuraava sivu API Console
<canvas>-elementti määrittää bittikarttavyöhykkeen HTML-sivulla.
Canvas API sallii JavaScriptin piirtää kuvioita taululle.
Canvas API voi piirtää muotoja, viivoja, kurvia, laatikoita, tekstiä ja kuvia, sekä värejä, kiertoa, läpinäkyvyyttä ja muita kuvapistemääriä.
Lisää Canvas HTML:ään
Voit lisätä canvas-elementin HTML-sivun mihin tahansa sijaintiin <canvas>-tagin avulla:
Esimerkki
<canvas id="myCanvas" width="300" height="150"></canvas>
Miten päästä Canvas-elementtiin
Voit käyttää HTML DOM-metodia getElementById() saadaksesi pääsy <canvas>-elementtiin:
const myCanvas = document.getElementById("myCanvas");
Jos haluat piirtää käsityksessä, sinun on luotava 2D-objekti:
const ctx = myCanvas.getContext("2d");
Huomioitavaa
HTML <canvas>-elementti ei sisällä piirtämismahdollisuuksia.
Sinun on käytettävä JavaScriptiä kaikkien kaavion piirtämisen tarkoituksiin.
getContext()-menetelmä palauttaa objektin, joka sisältää piirtätykaluja (menetelmiä).
Piirrä käsityksessä
Kun olet luonut 2D-objektin, voit piirtää käsityksessä.
Alapuolella oleva fillRect()-menetelmä piirtäät mustan suorakulmion, jonka ylärevasen kulma sijaitsee sijainnissa 20,20. Suorakulmion leveys on 150 pikseliä ja korkeus 100 pikseliä:
Esimerkki
const myCanvas = document.getElementById("myCanvas"); const ctx = myCanvas.getContext("2d"); ctx.fillRect(20, 20, 150, 100);
Käytä väriä
fillStyle-ominaisuus asettaa piirtoobjektin täytteen väri.
Esimerkki
const myCanvas = document.getElementById("myCanvas"); const ctx = myCanvas.getContext("2d"); ctx.fillStyle = "red"; ctx.fillRect(20, 20, 150, 100);
Voit lisääätä uuden <canvas>-elementin olemassa olevaan HTML-sivulle document.createElement() -menetelmän avulla:
Esimerkki
const myCanvas = document.createElement("canvas"); document.body.appendChild(myCanvas); const ctx = myCanvas.getContext("2d"); ctx.fillStyle = "red"; ctx.fillRect(20, 20, 150, 100);
Polku
Yleisimmät tavan täytteisiin käsityksessä on:
- Aloita polku - beginPath()
- Siirry pisteeseen - moveTo()
- Jatka polkua polun sisällössä - lineTo()
- Jatka polkua - stroke()
Esimerkki
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();
Väri, tyyli ja varjo
ominaisuudet | Kuvaus |
---|---|
fillStyle | Aseta tai palauta täytteen väri, gradientti tai kuviointi. |
strokeStyle | Aseta tai palauta reunaviivan väri, gradientti tai kuviointi. |
shadowColor | Aseta tai palauta varjojen väri. |
shadowBlur | Aseta tai palauta varjojen pehmennysaste. |
shadowOffsetX | Aseta tai palauta varjon horisontaalinen etäisyys muodosta. |
shadowOffsetY | Aseta tai palauta varjon vaakasuuntainen etäisyys muodosta. |
Metodi | Kuvaus |
---|---|
createLinearGradient() | Luo lineaarinen väriasteikko (käytetään kankaan sisällön piirtämiseen). |
createPattern() | Toista määritettyä elementtiä annetussa suunnassa. |
createRadialGradient() | Luo säteellinen/kylkiraita (käytetään kankaan sisällön piirtämiseen). |
addColorStop() | Määritä värit ja pysäytysasemat väriasteikossa. |
Viivatyylit
ominaisuudet | Kuvaus |
---|---|
lineCap | Aseta tai palauta viivan päätytyylin. |
lineJoin | Aseta tai palauta kahden viivan risteytyessä luodun kulman tyyppi. |
lineWidth | Aseta tai palauta nykyinen viivaleveys. |
miterLimit | Aseta tai palauta suurin kiertokulma. |
Nelikulmio
Metodi | Kuvaus |
---|---|
rect() | Luo nelikulmio. |
fillRect() | Piirrä 'täytetty' nelikulmio. |
strokeRect() | Piirrä nelikulmio (ei täyttöä). |
clearRect() | Puhdistaa annetun nelikulmion sisällä olevat määritetyt kuvapisteet. |
Polku
Metodi | Kuvaus |
---|---|
fill() | Täytä nykyinen kuva (polku). |
stroke() | Itse asiassa piirrä määrittämäsi polku. |
beginPath() | Aloita polku tai nollaa nykyinen polku. |
moveTo() | Siirrä polku kankaan määritettyyn pisteeseen ilman viivan luomista. |
closePath() | Luo polku, joka palaa nykyisestä pisteestä lähtöpisteeseen. |
lineTo() | Lisää uusi piste ja luo viiva, joka alkaa tästä pisteestä ja menee viimeiseen määritettyyn pisteeseen kankaalla. |
clip() | Leikkaa pois minkä tahansa muodon ja koon alue alkuperäisestä kankaasta. |
quadraticCurveTo() | Luo kaksinkulmainen Bezier-käyrä. |
bezierCurveTo() | Luo kolmikulmainen Bezier-käyrä. |
arc() | Luo särmäyskierros/särmäyskierre (käytetään ympyrän tai sen osan luomiseen). |
arcTo() | Luo särmäyskierros/särmäyskierre kahden tangentin välille. |
isPointInPath() | Jos määritetty kohta on nykyisessä polulla, palauta true, muuten palauta false. |
Muunnos
Metodi | Kuvaus |
---|---|
scale() | Lähesty tai etäänny nykyisestä kuvasta. |
rotate() | Kiertä nykyinen kuva. |
translate() | Uudelleenmääritä kankaan (0,0) sijainti. |
transform() | Korvaa nykyinen piirustuksen muunnosmatriisi. |
setTransform() | Nollaa nykyinen muunnos yksikkömatriseksi. Sitten suorita transform(). |
Teksti
ominaisuudet | Kuvaus |
---|---|
font | Aseta tai palauta tekstin nykyiset kirjasinkappaleet. |
textAlign | Aseta tai palauta tekstin nykyinen tasausmuoto. |
textBaseline | Asettaa tai palauttaa nykyisen tekstin pohjapohjan. |
Metodi | Kuvaus |
---|---|
fillText() | Piirrä 'täytetty' teksti maalausalueelle. |
strokeText() | Piirrä teksti maalausalueelle (ei täyttöä). |
measureText() | Palauttaa objektin, joka sisältää määritetyn tekstin leveyden. |
Kuvapiirtäminen
Metodi | Kuvaus |
---|---|
drawImage() | Piirrä kuva, maalausalue tai video maalausalueelle. |
Pikselinhallinta
ominaisuudet | Kuvaus |
---|---|
width | Palauttaa ImageData-objektin leveyden. |
height | Palauttaa ImageData-objektin korkeuden. |
data | Palauttaa objektin, joka sisältää määritetyn ImageData-objektin kuvatiedot. |
Metodi | Kuvaus |
---|---|
createImageData() | Luo uuden tyhjän ImageData-objektin. |
getImageData() | Palauttaa ImageData-objektin, joka kopioi maalausalueen määritetyn nelikulmion kuvapikselitiedot. |
putImageData() | Palauttaa kuvatiedot (määritetystä ImageData-objektista) takaisin maalausalueelle. |
Yhdistäminen
ominaisuudet | Kuvaus |
---|---|
globalAlpha | Asettaa tai palauttaa piirtämisen nykyisen alpha- tai läpinäkyvyysarvon. |
globalCompositeOperation | Asettaa tai palauttaa, miten uusi kuva piirretään nykyiseen kuvaan. |
Muut
Metodi | Kuvaus |
---|---|
save() | Tallentaa nykyisen kontekstin tilan. |
restore() | Palauttaa aiemmin tallennetun polun tilan ja ominaisuudet. |
createEvent() | |
getContext() | |
toDataURL() |
standardeja ominaisuuksia ja tapahtumia
canvas-objekti tukee sekä standardejaominaisuudetjaTapahtumat.
Liittyvät sivut
HTML opas:HTML5 maalaus
HTML kuvaopas:HTML Canvas opas
HTML viittausopas:HTML <canvas> tagi
- Edellinen sivu HTML Tyyli
- Seuraava sivu API Console