HTML DOM Canvas-objekti
<canvas>-elementti määrittää bittikartta-alueen HTML-sivulla.
Canvas API sallii JavaScriptin piirtää kuvioita lavoille.
Canvas API voi piirtää muotoja, viivoja, kurveja, 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äksesi Canvas-elementtiin
Voit käyttää HTML DOM-metodia getElementById() saadaksesi pääsy <canvas>-elementtiin:
const myCanvas = document.getElementById("myCanvas");
Jos haluat piirtää taululle, sinun täytyy luoda 2D-ala-objekti:
const ctx = myCanvas.getContext("2d");
Huomioitavaa
HTML <canvas> -elementti ei sisällä piirtämistoimintoja.
Sinun täytyy käyttää JavaScriptiä piirtääksesi mitään grafiikkaa.
getContext() -menetelmä palauttaa objektin, joka sisältää piirtotyökaluja (menetelmiä).
Piirtäminen taululle
Kun olet luonut 2D-ala-objektin, voit piirtää taululle.
Alla oleva fillRect() -menetelmä piirtää mustan suorakulmion, jonka yläkulma sijaitsee sijainnissa 20,20. Tämä suorakulmio on leveä 150 pikseliä ja korkea 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 piirtämisen täyttöväriä:
Esimerkki
const myCanvas = document.getElementById("myCanvas"); const ctx = myCanvas.getContext("2d"); ctx.fillStyle = "red"; ctx.fillRect(20, 20, 150, 100);
Voit myös luoda uuden <canvas> -elementin document.createElement() -menetelmällä ja lisätä sen olemassa olevaan HTML-sivulle:
Esimerkki
const myCanvas = document.createElement("canvas"); document.body.appendChild(myCanvas); const ctx = myCanvas.getContext("2d"); ctx.fillStyle = "red"; ctx.fillRect(20, 20, 150, 100);
路径
Yleisimmät tapat piirtää taululle:
- Aloita polku - beginPath()
- Siirry kohtaan - moveTo()
- Piirrä polkuun - 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 väri, viivakuvio tai kuviointi, jota käytetään täyttämään piirto. |
strokeStyle | Aseta tai palauta värin, viivakuvion tai kuvion väri, jota käytetään viivojen maalaamiseen. |
shadowColor | Aseta tai palauta varjojen väri. |
shadowBlur | Aseta tai palauta varjojen pehmennysaste. |
shadowOffsetX | 设置或返回阴影到形状的水平距离。 |
shadowOffsetY | 设置或返回阴影到形状的垂直距离。 |
Metodi | Kuvaus |
---|---|
createLinearGradient() | 创建线性渐变(用于画布内容)。 |
createPattern() | 在指定方向重复指定的元素。 |
createRadialGradient() | 创建径向/圆形渐变(用于画布内容)。 |
addColorStop() | 规定渐变对象中的颜色和停止位置。 |
线条样式
Ominaisuudet | Kuvaus |
---|---|
lineCap | 设置或返回线的端盖样式。 |
lineJoin | 设置或返回两条线相交时创建的角的类型。 |
lineWidth | 设置或返回当前线宽。 |
miterLimit | 设置或返回最大斜接长度。 |
矩形
Metodi | Kuvaus |
---|---|
rect() | 创建矩形。 |
fillRect() | 绘制“填充的”矩形。 |
strokeRect() | 绘制矩形(无填充)。 |
clearRect() | 清除给定矩形内的指定像素。 |
路径
Metodi | Kuvaus |
---|---|
fill() | 填充当前图形(路径)。 |
stroke() | 实际上绘制您定义的路径。 |
beginPath() | 开始路径,或重置当前路径。 |
moveTo() | 将路径移动到画布中的指定点,而不创建线。 |
closePath() | 创建从当前点返回起点的路径。 |
lineTo() | 添加一个新点并创建一条从该点到画布中最后一个指定点的线。 |
clip() | 从原始画布中剪裁任意形状和大小的区域。 |
quadraticCurveTo() | 创建二次贝塞尔曲线。 |
bezierCurveTo() | 创建三次贝塞尔曲线。 |
arc() | 创建圆弧/曲线(用于创建圆或圆的一部分)。 |
arcTo() | 在两条切线之间创建圆弧/曲线。 |
isPointInPath() | Jos määritetty kohta on nykyisessä polulla, palauta true, muuten palauta false. |
Muunnos
Metodi | Kuvaus |
---|---|
scale() | Laajenna tai pienennä nykyistä kuvaa. |
rotate() | Kiertää nykyinen kuva. |
translate() | Uudelleenkarttaa taulukon (0,0) sijainti. |
transform() | Korvaa piirroksen nykyinen muunnosmatriisi. |
setTransform() | Nollaa nykyinen muunnos yksikkömatriseksi. Sitten suorita transform(). |
Teksti
Ominaisuudet | Kuvaus |
---|---|
font | Aseta tai palauta tekstin nykyinen fonttiominaisuus. |
textAlign | Aseta tai palauta tekstin nykyinen tasausmuoto. |
textBaseline | Asettaa tai palauttaa nykyisen tekstin peruslinjan, jota käytetään tekstin piirtämiseen. |
Metodi | Kuvaus |
---|---|
fillText() | Piirrä 'täytetty' teksti maalauslaatalla. |
strokeText() | Piirrä teksti maalauslaatalla (ei täyttöä). |
measureText() | Palauttaa objektin, joka sisältää määritetyn tekstin leveyden. |
Kuvapiirtäminen
Metodi | Kuvaus |
---|---|
drawImage() | Piirrä kuva, maalauslaatta tai video maalauslaatalla. |
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 maalauslaatan määritetyn suorakulmion kuvatiedot. |
putImageData() | Palauttaa kuvatiedot (määritetystä ImageData-objektista) takaisin maalauslaattaan. |
Sovitus
Ominaisuudet | Kuvaus |
---|---|
globalAlpha | Asettaa tai palauttaa piirtämisen nykyisen alpha- tai läpinäkyvyysarvon. |
globalCompositeOperation | Asettaa tai palauttaa, miten uusi kuva piirretään olemassa olevaan kuvaan. |
Muut
Metodi | Kuvaus |
---|---|
save() | Tallentaa nykyisen kontekstin tilan. |
restore() | Palauttaa aiemmin tallennetun polun tilan ja ominaisuudet. |
createEvent() | |
getContext() | |
toDataURL() |
Standardiominaisuudet ja tapahtumat
canvas-objekti tukee sekä standardejaOminaisuudetjaTapahtumat.
Liittyvät sivut
HTML oppituntti:HTML5 maalauslaatta
HTML kuvaoppituntti:HTML Canvas oppituntti
HTML viittausoppikirja:HTML <canvas> tagi