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>

Kokeile itse

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);

Kokeile itse

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);

Kokeile itse

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);

Kokeile itse

路径

Yleisimmät tapat piirtää taululle:

  1. Aloita polku - beginPath()
  2. Siirry kohtaan - moveTo()
  3. Piirrä polkuun - lineTo()
  4. 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();

Kokeile itse

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