node-legofy

0.1.7 • Public • Published

node-legofy

This project is a Node.js port of the Legofy Python library from Juan Potato. Full feature and API parity is not ensured.

LEGOfy aims at converting an image (no GIF support) into a mosaic of 1×1 colored bricks. It is useless but hell a lot of fun. See the example for, y’know, an example.

Installation

npm install -g node-legofy

Usage (CLI)

LEGOfy input image from stdin and send output to stdout.

legofy [options]

Options

Name Description
-h, --help Bring help.
-v, --version Show version.
-f, --format=<format> Set output format (png or jpeg) [default: jpeg].
-q, --quality=<quality> Preset for the performance/quality options [default: good].
--pixel-interval=<interval> Set pixel interval for average color computation (higher means faster but less accurate).
--pattern-quality=<quality> Canvas pattern quality.
--filter-quality=<quality> Canvas filter quality (same values as pattern quality).

The options taking a quality argument can be one of fast, good, best, and nearest.

Example:

legofy < images/benchmark/sample-1.jpg > images/benchmark/sample-1.lego.jpg

Usage (Node)

import legofy from 'node-legofy'
 
inputStream
  .pipe(legofy())
  .pipe(outputStream)

Usage (Vinyl/Gulp)

Using the vinyl-transform package to adapt a Node.js transform stream to a Vinyl stream.

import fs from 'vinyl-fs'
import transform from 'vinyl-transform'
import legofy from 'node-legofy'
 
fs.src('images/*.png')
  .pipe(transform(legofy))
  .pipe(fs.dest('dest/'))

Example

Initial image

Processed image

Troubleshooting

On Mac OS X, there is an installation issue with cairo not being found. In this case, you can easily install all node-canvas module dependencies through Homebrew:

brew install pkg-config cairo libpng jpeg giflib

And install Xcode Command Line Tools if you didn’t do it before:

xcode-select --install

Benchmark

npm run benchmark

Credits

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.1.7
    1
    • latest

Version History

Package Sidebar

Install

npm i node-legofy

Weekly Downloads

3

Version

0.1.7

License

MIT

Last publish

Collaborators

  • valeriangalliat
  • kittygiraudel