1.0.2 • Published 4 years ago

svg-arc v1.0.2

Weekly downloads
4
License
MIT
Repository
github
Last release
4 years ago

Use SVG's <path> to generate circle, annulus, circular sector or annular sector, and return the d attribute value.

Install

npm i --save svg-arc
import arc from 'svg-arc';

arc({x, y, R, r, start, end})

Arguments

argumentstypedefaultdescription
xNumber0The x-coordinate of the center of the circle
yNumber0The y-coordinate of the center of the circle
RNumber0Outside Radius
rNumber0Inside Radius
startNumber-The starting angle, 0360
endNumber-The ending angle, 0360

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

MIT

Copyright (c) 2020-present, Z8264