The Path2D.addPath() method of the Canvas 2D API adds one Path2D object to another Path2D object.
On this page
Path2D: addPath() method
Syntax
js
addPath(path)
addPath(path, transform)
Parameters
Return value
None (undefined).
Examples
Adding a path to an existing path
This example adds one path to another.
HTML
html
<canvas id="canvas"></canvas>
JavaScript
First, we create two separate Path2D objects, each of which contains a rectangle made using the rect() method. We then create a matrix using DOMMatrix(). We then add the second path to the first using addPath(), also applying the matrix to move the second path to the right. Finally, we draw the first path (which now contains both rectangles) using fill().
js
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
// Create first path and add a rectangle
let p1 = new Path2D();
p1.rect(0, 0, 100, 150);
// Create second path and add a rectangle
let p2 = new Path2D();
p2.rect(0, 0, 100, 75);
// Create transformation matrix that moves 200 points to the right
let m = new DOMMatrix();
m.a = 1;
m.b = 0;
m.c = 0;
m.d = 1;
m.e = 200;
m.f = 0;
// Add second path to the first path
p1.addPath(p2, m);
// Draw the first path
ctx.fill(p1);
Result
Specifications
| Specification |
|---|
| HTML Standard # dom-path2d-addpath-dev |
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
addPath |
68 | 79 | 34 | No | 55 | 9 | 68 | 68 | 34 | 48 | 9 | 10.0 |
See also
- The interface defining this method:
Path2D
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Path2D/addPath