UNPKG

sharpvg

Version:

Converts bitmaps to beautifully pixelated SVGs

61 lines (38 loc) 1.73 kB
# SharpVG Sharp Vector Graphics A library and command line utility to convert bitmaps to SVGs. Why? - SVG is currently the only static cross-browser way to scale up pixelated graphics with preserving sharpness of the pixels that [works across browsers][royko]. - Converting to SVG might be useful in other scenarios, for example when we want to manipulate the image in real time. [royko]: http://vaughnroyko.com/state-of-nearest-neighbor-interpolation-in-canvas/ Features! - converts gifs to SVGs - colour! (one path for each colour) - fancy edge-tracing algorithm to maximally optimise output size Examples! Check out the icons at http://brainshave.com :-) . They're included in this repo and you can generate them by running `npm test`. (Included only for testing purposes, so please don't use them anywhere.) Usage (CLI): sharpvg file.gif > file.svg Usage (node, simple): var sharpvg = require("sharpvg") var svg = sharpvg(fs.readFileSync("file.gif")) Usage (browserified, so should work with AMD and as a global, gif decoding is not available): var image = canvas.getContext("2d").getImageData(0, 0, 100, 100); var svg = sharpvg(image.data, image.width, image.height); Usage (node, step by step): var gif = require("sharpvg/gif") var svg = require("sharpvg/svg") // raw file buffer: var raw = fs.readFileSync("file.gif") // 2-dim array of 1s and 0s: var bitmap = gif(raw) // producing svg is a separate step so we can take the bitmap from // different source var image = svg(bitmap) Planned features: - PNG input - animated gif support LICENSE: Source code: MIT, see [COPYING](COPYING), icons (gif files in spec directory): only for testing purposes.