1.0.2 • Published 5 years ago
svg-arc v1.0.2
Use SVG's <path> to generate circle, annulus, circular sector or annular sector, and return the d attribute value.
Install
npm i --save svg-arcimport arc from 'svg-arc';
arc({x, y, R, r, start, end})Arguments
| arguments | type | default | description |
|---|---|---|---|
| x | Number | 0 | The x-coordinate of the center of the circle |
| y | Number | 0 | The y-coordinate of the center of the circle |
| R | Number | 0 | Outside Radius |
| r | Number | 0 | Inside Radius |
| start | Number | - | The starting angle, 0~360 |
| end | Number | - | The ending angle, 0~360 |
Usage
import arc from 'svg-arc';
// create SVG
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
svg.setAttribute('viewBox', '0 0 300 300');
// create path
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
path.setAttribute('fill', '#ddd');
svg.appendChild(path);
// set path
const d = arc({
x: 150,
y: 150,
R: 100,
r: 80,
start: 100,
end: 200,
});
path.setAttribute('d', d);
// When drawing a annulus, the attribute value of 'fill-rule' must be set to 'evenodd', otherwise the color cannot be filled correctly.
path.setAttribute('fill-rule', 'evenodd');Circle
arc({
x: 150,
y: 150,
r: 100,
})Annulus
arc({
x: 150,
y: 150,
R: 100,
r: 80,
})
path.setAttribute('fill-rule', 'evenodd');When drawing a ring, the property value of fill-rule must be set to evenodd, otherwise the color cannot be filled correctly.
Circular Sector
arc({
x: 150,
y: 150,
r: 100,
start: 100,
end: 360,
})Annular Sector
arc({
x: 150,
y: 150,
R: 100,
r: 80,
start: 300,
end: 150,
})License
Copyright (c) 2020-present, Z8264