A "1:1 output" JavaScript port of Potrace JS for NodeJS.
Original image | Potrace output |
---|---|
- Node.js v10+
npm install oslllo-potrace
Taken from Example.js
const path = require("path");
const Potrace = require("..");
const fs = require("fs-extra");
const Svg2 = require("oslllo-svg2");
async function example1() {
var source = path.resolve("example/tree.jpg");
var destination = path.resolve("example/tree.svg");
var traced = await Potrace(source).trace();
fs.writeFileSync(destination, traced);
await Svg2(traced).png().extend(10).toFile("example/tree.png");
}
example1().then(() => {
console.log("done");
}).catch((err) => {
throw err;
});
const path = require("path");
const Potrace = require("..");
const fs = require("fs-extra");
const Svg2 = require("oslllo-svg2");
async function example2() {
var source = path.resolve("example/tree.jpg");
var destination = path.resolve("example/tree.svg");
var instance = Potrace(source);
var traced = await instance.trace();
fs.writeFileSync(destination, traced);
await Svg2(traced).png().extend(10).toFile("example/tree.png");
}
example2().then(() => {
console.log("done");
}).catch((err) => {
throw err;
});
source
(String | Buffer): path toimage
to trace.options
(Object): option parameter object.turnpolicy
(string): how to resolve ambiguities in path decomposition. available options are [Potrace.TURNPOLICY_BLACK
,Potrace.TURNPOLICY_WHITE
,Potrace.TURNPOLICY_LEFT
,Potrace.TURNPOLICY_RIGHT
,Potrace.TURNPOLICY_MINORITY
,Potrace.TURNPOLICY_MAJORITY
] (default: Potrace.TURNPOLICY_MINORITY).turdsize
: (Number) suppress speckles of up to this size (default: 2).optcurve
: (Boolean) turn on/off curve optimization (default: true).alphamax
: (Number) corner threshold parameter (default: 1).opttolerance
: (Number) curve optimization tolerance (default: 0.2).svgSize
: (Number) set svg output size. NOTE:The resulting image size
=the original image size
*size
(default: 1).opt_type
: (String) output svg type, available options are [curve
]
Please see CHANGELOG for more information what has changed recently.
npm test
Potrace JS Port by @kilobtye.
Original Potrace by Peter Selinger.
Another Potrace Port For Node.js maintained by @tooolbox.
The GNU General Public License v2.0 (GPL-2.0). Please see License File for more information.