esm-potrace-wasm
    TypeScript icon, indicating that this package has built-in type declarations

    0.4.0 • Public • Published

    ESM Potrace Wasm

    A modern ESM build of the Potrace library for use in the browser.

    Installation

    npm install --save esm-potrace-wasm

    Usage

    import { potrace, init } from 'esm-potrace-wasm';
    
    (async () => {
      // Initialize the module once.
      await init();
    
      /**
       * The `imageBitmapSource` parameter is an `ImageBitmapSource`, that is any of:
       * - `HTMLImageElement`
       * - `SVGImageElement`
       * - `HTMLVideoElement`
       * - `HTMLCanvasElement`
       * - `ImageData`
       * - `ImageBitmap`
       * - `Blob`
       */
      const svg = await potrace(
        imageBitmapSource,
        (options = {
          turdsize: 2,
          turnpolicy: 4,
          alphamax: 1,
          opticurve: 1,
          opttolerance: 0.2,
          pathonly: false,
          extractcolors: true,
          posterizelevel: 2, // [1, 255]
          posterizationalgorithm: 0, // 0: simple, 1: interpolation
        })
      );
    })();

    Developing

    Modify src/potrace/ and run npm run build to update the ESM build in dist/. The emscripten build file is located at ./build.sh (or build.ps1 for Win32) respectively. A simple demo that imports dist/index.js is available in demo/ and can be started by running npm start.

    Apps using this

    This library is used in SVGcode.

    SVGcode application screenshot

    License

    ⚠️ GPL-v2.0, due to the original Potrace license.

    Acknowledgements

    Based on @nturley's fork of @IguteChung's initial potrace-wasm. Unfortunately, the original author did not react on my Pull Request, so I forked.

    Keywords

    Install

    npm i esm-potrace-wasm

    DownloadsWeekly Downloads

    427

    Version

    0.4.0

    License

    GPL-2.0

    Unpacked Size

    105 kB

    Total Files

    5

    Last publish

    Collaborators

    • tomayac