blob: 7a0c0f7ea43949cf9b2fdec36433a25c80285b0e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
<!DOCTYPE html>
<html>
<body>
Pattern Canvas<br>
<canvas id="patternCanvas" style="border: 1px solid black" width="10" height="10"></canvas><br>
Main Canvas (red square should be in top-left corner)<br>
<canvas id="canvas" style="border: 1px solid black" width="100" height="100"></canvas>
<script>
// Draw a 10x10 red rectangle that will be used for the pattern.
const patternCanvas = document.getElementById("patternCanvas");
const patternCtx = patternCanvas.getContext("2d");
patternCtx.fillStyle = "red";
patternCtx.fillRect(0, 0, patternCanvas.width, patternCanvas.height);
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
const height = 100;
ctx.translate(0, height);
const pattern = ctx.createPattern(patternCanvas, "no-repeat");
// Reverse translation applied to the canvas.
pattern.setTransform((new DOMMatrix()).translate(0, -height));
ctx.fillStyle = pattern;
// Fill the entire canvas with the pattern.
ctx.fillRect(0, -height, 100, 100);
</script>
</body>
</html>
|