Git Product home page Git Product logo

svg-cubic's Introduction

svg-cubic

Draw a simple svg shape with a cubic path

Install

npm i svg-cubic

API

constructor([options])

Option Action
w svg width
h svg height
d direction of the drawing — top, right, bottom, left
p1 first point
p1a first anchor — offset from p1 in the same direction
p1b first anchor — offset from p1 in the perpendicular direction
p2 second point
p2a second anchor — offset from p2 in the same direction
p2b second anchor — offset from p2 in the perpendicular direction
const Cubic = require('svg-cubic')

var cubic = new Cubic({p1:10, p2:50, p2b:25, w:100, h:200})

// also allowed
var cubic = Cubic({p1:10, p2:50, p2b:25, w:100, h:200})

// all options are also accessible via getter/setter
cubic.d = 'top'
cubic.p1 = 100

svg()

Return svg node

var cubic = Cubic({p1:10, p2:50, p2b:25, w:100, h:200})

/*
<svg viewBox="0 0 100 200" preserveAspectRatio="none">
  <path d="M0 0 V10 C0 10 25 50 50 50 C75 50 100 10 100 10 V0 z"></path>
</svg>
*/
var svg = cubic.svg()

path()

Return path value

var cubic = Cubic({p1:10, p2:50, p2b:25, w:100, h:200})

cubic.p1  = 20
cubic.p1b = 30
// M0 0 V20 C30 20 25 50 50 50 C75 50 70 20 100 20 V0 z
var path = cubic.path()

Demo

npm i && npm start

Related

Thanks

Mainly forked / inspired on Codrops and Isaac Montemayor

License

MIT

svg-cubic's People

Contributors

jeromedecoster avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.