Canvas API
- Vorige pagina HTML Stijl
- Volgende pagina API Console
Het <canvas>-element definieert een bitmapgebied in een HTML-pagina.
De Canvas API stelt JavaScript in staat om grafieken op het doek te tekenen.
De Canvas API kan vormen, lijnen, kurven, kaders, tekst en afbeeldingen tekenen, evenals kleuren, roteren, doorzichtigheid en andere pixeloperaties.
Canvas toevoegen aan HTML
U kunt het <canvas>-tag gebruiken om een canvas-element toe te voegen aan elke willekeurige locatie in een HTML-pagina:
Voorbeeld
<canvas id="myCanvas" width="300" height="150"></canvas>
Hoe toegang te krijgen tot het Canvas-element
U kunt de HTML DOM-methode getElementById() gebruiken om toegang te krijgen tot het <canvas>-element:
const myCanvas = document.getElementById("myCanvas");
Om te tekenen op het canvas, moet u een 2D context-object maken:
const ctx = myCanvas.getContext("2d");
Aantekening
Het HTML <canvas>-element heeft zelf geen tekenfunctionaliteit.
U moet JavaScript gebruiken om enige vorm van grafiek te tekenen.
De getContext()-methode retourneert een object met tekenhulpmiddelen (methoden).
Tekenen op het canvas
Na het maken van het 2D context-object kunt u op het canvas tekenen.
De onderstaande fillRect()-methode tekent een zwart rechthoekig gebied met de linkerbovenhoek op de positie 20,20. Het rechthoekige gebied is 150 pixels breed en 100 pixels hoog:
Voorbeeld
const myCanvas = document.getElementById("myCanvas"); const ctx = myCanvas.getContext("2d"); ctx.fillRect(20, 20, 150, 100);
Gebruik van kleur
De fillStyle-eigenschap stelt de vulkleur van het tekenobject in:
Voorbeeld
const myCanvas = document.getElementById("myCanvas"); const ctx = myCanvas.getContext("2d"); ctx.fillStyle = "red"; ctx.fillRect(20, 20, 150, 100);
U kunt ook een nieuwe <canvas>-element maken met de methode document.createElement() en dit element toevoegen aan een bestaande HTML-pagina:
Voorbeeld
const myCanvas = document.createElement("canvas"); document.body.appendChild(myCanvas); const ctx = myCanvas.getContext("2d"); ctx.fillStyle = "red"; ctx.fillRect(20, 20, 150, 100);
Pad
Een van de meest voorkomende methoden om op een canvas te tekenen is:
- Beginnen van een pad - beginPath()
- Verplaatsen naar een punt - moveTo()
- Tekenen in het pad - lineTo()
- Tekenen van een pad - stroke()
Voorbeeld
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();
Kleuren, stijlen en schaduwen
Eigenschappen | Beschrijving |
---|---|
fillStyle | Instellen of retourneren van de kleur, het kleurenpalet of het patroon dat wordt gebruikt voor het vullen van de tekening. |
strokeStyle | Instellen of retourneren van de kleur, het kleurenpalet of het patroon dat wordt gebruikt voor de lijntekening. |
shadowColor | Instellen of retourneren van de kleur die wordt gebruikt voor de schaduw. |
shadowBlur | Instellen of retourneren van het vageniveau van de schaduw. |
shadowOffsetX | Instellen of retourneren van de horizontale afstand van de schaduw tot de vorm. |
shadowOffsetY | Instellen of retourneren van de verticale afstand van de schaduw tot de vorm. |
Methode | Beschrijving |
---|---|
createLinearGradient() | Maak een lineaire kleurenschakering (gebruikt voor canvasinhoud). |
createPattern() | Herhaal de gespecificeerde elementen in de opgegeven richting. |
createRadialGradient() | Maak een radiaal/cirkelmatige kleurenschakering (gebruikt voor canvasinhoud). |
addColorStop() | Stel de kleuren en stopposities in van het kleurenschakeringobject. |
Lijnstijl
Eigenschappen | Beschrijving |
---|---|
lineCap | Instellen of retourneren van het stijltype van de lijnkap. |
lineJoin | Instellen of retourneren van het type hoek dat wordt gecreëerd wanneer twee lijnen kruisen. |
lineWidth | Instellen of retourneren van de huidige lijnhoogte. |
miterLimit | Instellen of retourneren van de maximale schuine lengte. |
Rechthoek
Methode | Beschrijving |
---|---|
rect() | Maak een rechthoek. |
fillRect() | Teken een 'gevulde' rechthoek. |
strokeRect() | Teken een rechthoek (geen invulling). |
clearRect() | Wis de opgegeven pixels binnen het gegeven rechthoek. |
Pad
Methode | Beschrijving |
---|---|
fill() | Vul de huidige grafiek (pad) in. |
stroke() | Teken in feite het gedefinieerde pad. |
beginPath() | Begin een pad of reset het huidige pad. |
moveTo() | Verplaats het pad naar de gespecificeerde locatie op het canvas zonder een lijn te maken. |
closePath() | Maak een pad van de huidige punt terug naar de startpunt. |
lineTo() | Voeg een nieuwe punt toe en maak een lijn van dat punt naar de laatste gespecificeerde punt op het canvas. |
clip() | Knip een willekeurige vorm en grootte van een gebied uit het oorspronkelijke canvas. |
quadraticCurveTo() | Maak een tweevoudige Bezier-kromming. |
bezierCurveTo() | Maak een drievoudige Bezier-kromming. |
arc() | Maak een boog/boog (gebruikt om een cirkel of een deel ervan te maken). |
arcTo() | Maak een boog/boog tussen twee snijlijnen. |
isPointInPath() | Retourneer true als het gespecificeerde punt in het huidige pad zit, anders retourneer false. |
Transformatie
Methode | Beschrijving |
---|---|
scale() | Vergroot of verklein de huidige grafiek. |
rotate() | Rooster de huidige grafiek. |
translate() | Hermappeel de positie (0,0) op het canvas. |
transform() | Vervang de huidige transformatatiematrix van het tekenen. |
setTransform() | Zet de huidige transformatie terug naar een eenheidsmatrix. Vervolgens voer transform(). |
Tekst
Eigenschappen | Beschrijving |
---|---|
font | Instellen of retourneren van de huidige lettertype-eigenschappen van de tekstinhoud. |
textAlign | Instellen of retourneren van de huidige uitlijning van de tekstinhoud. |
textBaseline | Stel in of geef terug de huidige tekstbasiskant die wordt gebruikt voor het tekenen van tekst. |
Methode | Beschrijving |
---|---|
fillText() | Teken 'gevuld' tekst op het canvas. |
strokeText() | Teken tekst op het canvas (zonder invulling). |
measureText() | Geef een object terug dat de breedte van de gespecificeerde tekst bevat. |
Beeldtekenen
Methode | Beschrijving |
---|---|
drawImage() | Teken een afbeelding, canvas of video op het canvas. |
Pixeloperaties
Eigenschappen | Beschrijving |
---|---|
width | Geef de breedte van het ImageData object terug. |
height | Geef de hoogte van het ImageData object terug. |
data | Geef een object terug dat de afbeeldingsgegevens van een specifieke ImageData object bevat. |
Methode | Beschrijving |
---|---|
createImageData() | Maak een nieuw leeg ImageData object. |
getImageData() | Geef een ImageData object terug, dat de pixelgegevens van een specifieke rechthoek op het canvas kopieert. |
putImageData() | Plaats de afbeeldingsgegevens (van het specifieke ImageData object) terug op het canvas. |
Compositie
Eigenschappen | Beschrijving |
---|---|
globalAlpha | Stel in of geef terug de huidige alpha of transparenswaarde van de tekening. |
globalCompositeOperation | Stel in of geef terug hoe een nieuw beeld wordt getekend op een bestaand beeld. |
Andere
Methode | Beschrijving |
---|---|
save() | Sla de huidige contextstatus op. |
restore() | Geef de eerder opgeslagen padstatus en eigenschappen terug. |
createEvent() | |
getContext() | |
toDataURL() |
Standaard eigenschappen en gebeurtenissen
De canvas objecten ondersteunen zowel standaardEigenschappenenGebeurtenissen.
Gerelateerde pagina's
HTML Handleiding:HTML5 Canvas
HTML Afbeelding Handleiding:HTML Canvas Handleiding
HTML Referentiemanual:HTML <canvas> tag
- Vorige pagina HTML Stijl
- Volgende pagina API Console