W3docs

Canvas-Referenz

Das HTML5 <canvas>-Element dient zum Zeichnen von Grafiken per Skript (meist JavaScript). Alle Eigenschaften und Methoden für Canvas im Überblick.

Das HTML5-Element <canvas> wird zum Zeichnen von Grafiken per Skript (üblicherweise JavaScript) verwendet. Das <canvas>-Element selbst ist nur ein leerer Container — gezeichnet wird darin ausschließlich über ein Skript.

Um zeichnen zu können, ruft man die Methode getContext('2d') des Elements auf. Sie gibt ein CanvasRenderingContext2D-Objekt zurück:

const canvas = document.getElementById('myCanvas');
const ctx = canvas.getContext('2d'); // a CanvasRenderingContext2D
ctx.fillStyle = 'green';
ctx.fillRect(10, 10, 100, 80);

Fast alle Eigenschaften und Methoden auf dieser Seite gehören zu diesem 2D-Kontextobjekt (ctx im Beispiel oben), nicht zum <canvas>-Element selbst. Die beiden Ausnahmen sind getContext() und toDataURL(), die zum <canvas>-Element gehören, sowie die Eigenschaften width, height und data im Abschnitt Pixelmanipulation, die zu ImageData-Objekten gehören. Diese sind jeweils in eigenen Abschnitten gruppiert.

Schrittweise Anleitungen finden Sie unter Canvas-Einführung, Formen zeichnen, Koordinaten, Text und Verläufe.

Farben, Stile und Schatten

EigenschaftBeschreibung
fillStyleLegt die Farbe, den Verlauf oder das Muster zum Füllen der Formen fest, oder gibt dieses zurück.
strokeStyleLegt die Farbe, den Verlauf oder das Muster für die Linien um die Formen fest, oder gibt dieses zurück.
shadowColorLegt die Farbe der Schatten fest, oder gibt diese zurück.
shadowBlurLegt den Unschärfegrad der Schatten fest, oder gibt diesen zurück.
shadowOffsetXLegt den x-Versatz des Schattens fest, oder gibt diesen zurück.
shadowOffsetYLegt den y-Versatz des Schattens fest, oder gibt diesen zurück.
MethodeBeschreibung
createLinearGradient()Erstellt einen linearen Verlauf für die Verwendung im Canvas-Inhalt.
createPattern()Wiederholt ein bestimmtes Element in der angegebenen Richtung.
createRadialGradient()Erstellt einen kreisförmigen/radialen Verlauf für die Verwendung im Canvas-Inhalt.
addColorStop()Definiert Farben und Stoppositionen im Verlaufsobjekt.

Das Tutorial Canvas-Verläufe enthält ausgearbeitete Beispiele.

Linienstile

EigenschaftBeschreibung
lineCapLegt den Stil der Linienenden fest, oder gibt diesen zurück.
lineJoinLegt die Art der gezeichneten Ecken fest, oder gibt diese zurück.
lineWidthLegt die Breite der aktuellen Linie fest, oder gibt diese zurück.
miterLimitLegt die maximale Gehrungslänge fest, oder gibt diese zurück.
lineDashOffsetLegt den Versatz für Strichlinienmuster fest, oder gibt diesen zurück.
MethodeBeschreibung
getLineDash()Gibt das aktuelle Strichlinienmuster als array von Zahlen zurück.
setLineDash()Setzt das Strichlinienmuster aus einem array von Zahlen (z. B. [5, 3]).

Rechtecke

MethodeBeschreibung
rect()Erstellt Rechtecke.
fillRect()Zeichnet gefüllte Rechtecke.
strokeRect()Zeichnet rechteckige Umrisse.
clearRect()Löscht die angegebenen Pixel innerhalb eines bestimmten Rechtecks.

Pfade

MethodeBeschreibung
fill()Füllt den/die aktuellen Teilpfad(e) mit dem aktuellen fillStyle.
stroke()Zeichnet den/die aktuellen Teilpfad(e) mit dem aktuellen strokeStyle.
beginPath()Beginnt einen neuen Pfad oder setzt den aktuellen Pfad zurück.
moveTo()Verschiebt den Pfad zum angegebenen Punkt im Canvas, ohne eine Linie zu zeichnen.
closePath()Fügt einen Pfad vom aktuellen Punkt zurück zum Startpunkt hinzu.
lineTo()Fügt eine Linie zum aktuellen Teilpfad hinzu.
clip()Erstellt eine Schnittmaske aus dem aktuellen Pfad.
quadraticCurveTo()Fügt eine quadratische Bézierkurve hinzu.
bezierCurveTo()Fügt eine kubische Bézierkurve hinzu.
arc()Fügt einen Bogen/eine Kurve zum Erstellen von Kreisen oder Kreisabschnitten hinzu.
arcTo()Fügt einen Bogen/eine Kurve zwischen zwei Tangenten hinzu.
ellipse()Fügt einen elliptischen Bogen zum Pfad hinzu.
isPointInPath()Gibt an, ob sich der angegebene Punkt im aktuellen Pfad befindet oder nicht.

Transformationen

MethodeBeschreibung
scale()Vergrößert oder verkleinert die aktuelle Zeichnung.
rotate()Dreht die aktuelle Zeichnung.
translate()Passt das Koordinatensystem des Canvas an.
transform()Wendet eine Transformationsmatrix auf das Canvas an.
setTransform()Ähnelt transform(). Kann zum Verzerren, Skalieren und Verschieben des Canvas verwendet werden.
resetTransform()Setzt die aktuelle Transformation auf die Einheitsmatrix zurück.

Unter Canvas-Koordinaten ist beschrieben, wie die Transformationsmatrix Zeichenpositionen auf Pixel abbildet.

Text

EigenschaftBeschreibung
fontLegt das Erscheinungsbild eines auf dem Canvas gezeichneten Textes fest.
textAlignLegt die Ausrichtung eines auf dem Canvas gezeichneten Textes fest.
textBaselineLegt die vertikale Ausrichtung eines auf dem Canvas gezeichneten Textes fest.
directionLegt die Textrichtung fest oder gibt sie zurück (ltr, rtl oder inherit).
MethodeBeschreibung
fillText()Fügt Text zum Canvas hinzu.
strokeText()Fügt umrandeten Text zum Canvas hinzu.
measureText()Misst die Textbreite.

Das Tutorial Canvas-Text enthält vollständige Beispiele.

Bildzeichnung

EigenschaftBeschreibung
imageSmoothingEnabledGibt an oder legt fest, ob skalierte Bilder geglättet (true) oder pixelig (false) dargestellt werden.
MethodeBeschreibung
drawImage()Zeichnet ein Bild, Video oder Canvas auf das Canvas.

Pixelmanipulation

Die folgenden Eigenschaften gehören zum ImageData-Objekt, das von createImageData() / getImageData() zurückgegeben wird — nicht zum <canvas>-Element oder zum Kontext.

ImageData-EigenschaftBeschreibung
widthGibt die Breite eines ImageData-Objekts in Pixeln zurück.
heightGibt die Höhe eines ImageData-Objekts in Pixeln zurück.
dataGibt ein Uint8ClampedArray mit den RGBA-Pixeldaten zurück.
MethodeBeschreibung
createImageData()Erstellt ein neues ImageData-Objekt.
getImageData()Gibt ein ImageData-Objekt zurück, das die Pixeldaten des angegebenen Rechtecks kopiert.
putImageData()Überträgt die Bilddaten aus einem ImageData-Objekt auf das Canvas.

Compositing

EigenschaftBeschreibung
globalAlphaLegt den aktuellen Alpha-/Transparenzwert fest, oder gibt diesen zurück.
globalCompositeOperationLegt die Art der Compositing-Operation beim Zeichnen eines neuen Bildes fest, oder gibt diese zurück.
filterLegt einen CSS-Filter für das Zeichnen fest oder gibt ihn zurück (z. B. blur(4px), grayscale(1)).

Canvas-Zustand

Diese Methoden gehören zum 2D-Kontext und ermöglichen das Speichern und Wiederherstellen des vollständigen Zeichenzustands (Stile, Transformationen, Schnittbereich) als Stack.

MethodeBeschreibung
save()Legt den aktuellen Zustand des Kontexts auf den Zustandsstack.
restore()Nimmt den zuletzt gespeicherten Zustand vom Stack und stellt die zugehörigen Stile und Transformationen wieder her.

Das <canvas>-Element

Die folgenden Member gehören zum <canvas>-Element selbst, nicht zum 2D-Kontext.

MemberBeschreibung
getContext()Gibt einen Zeichenkontext für das Canvas zurück — '2d' übergeben für ein CanvasRenderingContext2D.
toDataURL()Gibt eine Data-URL (Base64-Bild) des Canvas-Inhalts zurück, z. B. 'image/png'.

Übungen

Übung
Was kann die Methode getContext('2d') in HTML5 Canvas tun?
Was kann die Methode getContext('2d') in HTML5 Canvas tun?
Was this page helpful?