Baseline Widely available
Die CanvasRenderingContext2D.createPattern()
-Methode der Canvas 2D-API erstellt ein Muster unter Verwendung des angegebenen Bildes und der Wiederholung. Diese Methode gibt ein CanvasPattern
zurück.
Diese Methode zeichnet nichts direkt auf die Leinwand. Das von ihr erstellte Muster muss den Eigenschaften CanvasRenderingContext2D.fillStyle
oder CanvasRenderingContext2D.strokeStyle
zugewiesen werden, wonach es für jegliche nachfolgende Zeichnungen angewendet wird.
createPattern(image, repetition)
Parameter
image
Ein Bild, das als Musterbild verwendet werden soll. Es kann eines der folgenden sein:
HTMLImageElement
(<img>
)SVGImageElement
(<image>
)HTMLVideoElement
(<video>
, durch die Aufnahme des Videos)HTMLCanvasElement
(<canvas>
)ImageBitmap
OffscreenCanvas
VideoFrame
repetition
Ein Zeichenfolgenwert, der angibt, wie das Musterbild wiederholt werden soll. Mögliche Werte sind:
"repeat"
(beide Richtungen)"repeat-x"
(nur horizontal)"repeat-y"
(nur vertikal)"no-repeat"
(in keiner Richtung)Ein null
-Wert wird wie eine leere Zeichenfolge (""
) behandelt: Beide sind Synonyme für "repeat"
.
CanvasPattern
Ein undurchsichtiges Objekt, das ein Muster beschreibt.
Wenn das image
nicht vollständig geladen ist (HTMLImageElement.complete
ist false
), wird null
zurückgegeben.
Dieses Beispiel verwendet die createPattern()
-Methode, um ein CanvasPattern
mit einem sich wiederholenden Quellbild zu erstellen. Sobald es erstellt wurde, wird das Muster dem Füllstil des Canvas-Kontextes zugewiesen und auf ein Rechteck angewendet.
Das Originalbild sieht so aus:
HTML<canvas id="canvas" width="300" height="300"></canvas>
JavaScript
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
const img = new Image();
img.src = "canvas_create_pattern.png";
// Only use the image after it's loaded
img.onload = () => {
const pattern = ctx.createPattern(img, "repeat");
ctx.fillStyle = pattern;
ctx.fillRect(0, 0, 300, 300);
};
Erstellen eines Musters aus einer Leinwand
In diesem Beispiel erstellen wir ein Muster aus dem Inhalt einer Offscreen-Leinwand. Dann wenden wir es auf den Füllstil unserer Hauptleinwand an und füllen diese Leinwand mit dem Muster.
JavaScript// Create a pattern, offscreen
const patternCanvas = document.createElement("canvas");
const patternContext = patternCanvas.getContext("2d");
// Give the pattern a width and height of 50
patternCanvas.width = 50;
patternCanvas.height = 50;
// Give the pattern a background color and draw an arc
patternContext.fillStyle = "#ffeecc";
patternContext.fillRect(0, 0, patternCanvas.width, patternCanvas.height);
patternContext.arc(0, 0, 50, 0, 0.5 * Math.PI);
patternContext.stroke();
// Create our primary canvas and fill it with the pattern
const canvas = document.createElement("canvas");
const ctx = canvas.getContext("2d");
const pattern = ctx.createPattern(patternCanvas, "repeat");
ctx.fillStyle = pattern;
ctx.fillRect(0, 0, canvas.width, canvas.height);
// Add our primary canvas to the webpage
document.body.appendChild(canvas);
Ergebnis Spezifikationen Browser-Kompatibilität Siehe auch
CanvasRenderingContext2D
CanvasPattern
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4