Extracts Path#simplify()
from Paper.js.
http://paperjs.org/reference/path/#simplify
$ npm i @luncheon/simplify-svg-path
import simplifySvgPath from '@luncheon/simplify-svg-path'
const points = [[10, 10], [10, 20], [20, 20]];
const path = simplifySvgPath(points);
// "M10,10c0,3.33333 -2.35702,7.64298 0,10c2.35702,2.35702 6.66667,0 10,0"
CDN (jsDelivr)
<script src="https://cdn.jsdelivr.net/npm/@luncheon/[email protected]"></script>
<script>
const path = simplifySvgPath([[10, 10], [10, 20], [20, 20]]);
</script>
simplifySvgPath(
points: [x: number, y: number][], // `{ x: number, y: number }[]` is also acceptable
{
closed: boolean = false,
tolerance: number = 2.5,
precision: number = 5,
} = {}
): string
// SVG path command string such as
// "M10,10c0,3.33333 -2.35702,7.64298 0,10c2.35702,2.35702 6.66667,0 10,0"
The logic is a copy of Paper.js v0.12.11.
If you like this, please send your thanks and the star to Paper.js.