Canvas API
- Vorherige Seite HTML Style
- Nächste Seite API Konsole
Das <canvas>-Element definiert ein Rasterbereich in der HTML-Seite.
Das Canvas API ermöglicht es JavaScript, auf dem Canvas Grafiken zu zeichnen.
Das Canvas API kann Formen, Linien, Kurven, Rechtecke, Text und Bilder sowie Farben, Rotation, Transparenz und andere Pixeloperationen zeichnen.
Canvas in HTML hinzufügen
Sie können das <canvas>-Tag verwenden, um das canvas-Element an jeder beliebigen Stelle in der HTML-Seite hinzuzufügen:
Beispiel
<canvas id="myCanvas" width="300" height="150"></canvas>
Wie man auf das Canvas-Element zugreift
Sie können den HTML DOM-Methode getElementById() verwenden, um auf das <canvas>-Element zuzugreifen:
const myCanvas = document.getElementById("myCanvas");
Um auf dem Bildschirm zu zeichnen, müssen Sie ein 2D-Context-Objekt erstellen:
const ctx = myCanvas.getContext("2d");
Notizen
Das HTML <canvas>-Element hat selbst keine Zeichnungsfunktion.
Sie müssen JavaScript verwenden, um jede Art von Grafik zu zeichnen.
Die Methode getContext() gibt ein Objekt zurück, das mit Zeichnungswerkzeugen (Methoden) ausgestattet ist.
Zeichnen auf dem Bildschirm
Nachdem Sie den 2D-Context-Objekt erstellt haben, können Sie auf dem Bildschirm zeichnen.
Mit dem fillRect()-Verfahren wird unten ein schwarzes Rechteck gezeichnet, dessen oberer linker Eckpunkt sich in der Position 20,20 befindet. Das Rechteck hat eine Breite von 150 Pixel und eine Höhe von 100 Pixeln:
Beispiel
const myCanvas = document.getElementById("myCanvas"); const ctx = myCanvas.getContext("2d"); ctx.fillRect(20, 20, 150, 100);
Verwenden Sie Farben
Die fillStyle-Eigenschaft setzt die Füllfarbe des Zeichnungselements fest:
Beispiel
const myCanvas = document.getElementById("myCanvas"); const ctx = myCanvas.getContext("2d"); ctx.fillStyle = "red"; ctx.fillRect(20, 20, 150, 100);
Sie können auch die Methode document.createElement() verwenden, um ein neues <canvas>-Element zu erstellen und dieses Element zur bestehenden HTML-Seite hinzuzufügen:
Beispiel
const myCanvas = document.createElement("canvas"); document.body.appendChild(myCanvas); const ctx = myCanvas.getContext("2d"); ctx.fillStyle = "red"; ctx.fillRect(20, 20, 150, 100);
路径
Eine gängige Methode zum Zeichnen auf dem Bildschirm ist:
- Pfad beginnen - beginPath()
- Zu einem Punkt bewegen - moveTo()
- Im Pfad zeichnen - lineTo()
- Pfad zeichnen - stroke()
Beispiel
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();
Farbe, Stil und Schatten
Eigenschaften | Beschreibung |
---|---|
fillStyle | Einstellen oder zurückschreiben der Farbe, des Verlaufs oder des Musters für die Füllung des Zeichens. |
strokeStyle | Einstellen oder zurückschreiben der Farbe, des Verlaufs oder des Musters für die Strichführung. |
shadowColor | Einstellen oder zurückschreiben der Farbe für den Schatten. |
shadowBlur | Einstellen oder zurückschreiben des Unschärfegrades des Schattens. |
shadowOffsetX | 设置或返回阴影到形状的水平距离。 |
shadowOffsetY | 设置或返回阴影到形状的垂直距离。 |
Methode | Beschreibung |
---|---|
createLinearGradient() | 创建线性渐变(用于画布内容)。 |
createPattern() | 在指定方向重复指定的元素。 |
createRadialGradient() | 创建径向/圆形渐变(用于画布内容)。 |
addColorStop() | 规定渐变对象中的颜色和停止位置。 |
线条样式
Eigenschaften | Beschreibung |
---|---|
lineCap | 设置或返回线的端盖样式。 |
lineJoin | 设置或返回两条线相交时创建的角的类型。 |
lineWidth | 设置或返回当前线宽。 |
miterLimit | 设置或返回最大斜接长度。 |
矩形
Methode | Beschreibung |
---|---|
rect() | 创建矩形。 |
fillRect() | 绘制“填充的”矩形。 |
strokeRect() | 绘制矩形(无填充)。 |
clearRect() | 清除给定矩形内的指定像素。 |
路径
Methode | Beschreibung |
---|---|
fill() | 填充当前图形(路径)。 |
stroke() | 实际上绘制您定义的路径。 |
beginPath() | 开始路径,或重置当前路径。 |
moveTo() | 将路径移动到画布中的指定点,而不创建线。 |
closePath() | 创建从当前点返回起点的路径。 |
lineTo() | 添加一个新点并创建一条从该点到画布中最后一个指定点的线。 |
clip() | 从原始画布中剪裁任意形状和大小的区域。 |
quadraticCurveTo() | 创建二次贝塞尔曲线。 |
bezierCurveTo() | 创建三次贝塞尔曲线。 |
arc() | 创建圆弧/曲线(用于创建圆或圆的一部分)。 |
arcTo() | 在两条切线之间创建圆弧/曲线。 |
isPointInPath() | 如果指定点在当前路径中,则返回 true,否则返回 false。 |
转换
Methode | Beschreibung |
---|---|
scale() | 放大或缩小当前图形。 |
rotate() | 旋转当前图形。 |
translate() | 重新映射画布上的 (0,0) 位置。 |
transform() | 替换绘图的当前转换矩阵。 |
setTransform() | 将当前转换重置为单位矩阵。然后运行 transform(). |
文本
Eigenschaften | Beschreibung |
---|---|
font | 设置或返回文本内容的当前字体属性。 |
textAlign | 设置或返回文本内容的当前对齐方式。 |
textBaseline | Setzt oder gibt den aktuellen Textgrundliniennamen zurück, der bei der Zeichnung des Textes verwendet wird. |
Methode | Beschreibung |
---|---|
fillText() | Zeichnet "gefüllten" Text auf die Leinwand. |
strokeText() | Zeichnet Text auf die Leinwand (ohne Füllung). |
measureText() | Gibt ein Objekt zurück, das die Breite des angegebenen Textes enthält. |
Bildzeichnung
Methode | Beschreibung |
---|---|
drawImage() | Zeichnet ein Bild, eine Leinwand oder ein Video auf die Leinwand. |
Pixeloperationen
Eigenschaften | Beschreibung |
---|---|
width | Gibt die Breite des ImageData-Objekts zurück. |
height | Gibt die Höhe des ImageData-Objekts zurück. |
data | Gibt ein Objekt zurück, das die Bilddaten eines bestimmten ImageData-Objekts enthält. |
Methode | Beschreibung |
---|---|
createImageData() | Erstellt ein neues leeres ImageData-Objekt. |
getImageData() | Gibt ein ImageData-Objekt zurück, das die Pixeldaten eines bestimmten Rechtecks auf der Leinwand kopiert. |
putImageData() | Setzt die Bilddaten (aus dem spezifischen ImageData-Objekt) zurück auf die Leinwand. |
Synthese
Eigenschaften | Beschreibung |
---|---|
globalAlpha | Setzt oder gibt den aktuellen Alpha- oder Transparenzwert der Zeichnung zurück. |
globalCompositeOperation | Setzt oder gibt an, wie ein neues Bild in das bestehende Bild gezeichnet wird. |
Andere
Methode | Beschreibung |
---|---|
save() | Speichert den aktuellen Kontextstatus. |
restore() | Gibt den vorherigen Pfadstatus und die Eigenschaften zurück. |
createEvent() | |
getContext() | |
toDataURL() |
Standard Eigenschaften und Ereignisse
Der canvas-Objekt unterstützt gleichzeitig StandardsEigenschaftenundEreignisse.
Verwandte Seiten
HTML Anleitung:HTML5 Canvas
HTML Bild Anleitung:HTML Canvas Anleitung
HTML Referenzhandbuch:HTML <canvas> Tag
- Vorherige Seite HTML Style
- Nächste Seite API Konsole