JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 6680
  • Score
    100M100P100Q134964F
  • License MIT

Package Exports

  • pure-color-thief-node

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (pure-color-thief-node) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

pure-color-thief-node

Pure javascript version of color thief reimplementation for Node.js.

The original color thief project relies on the browser Canvas object to extract pixels from images. It does not work well in Node.js environment because the Canvas object does not natively exist in Node.js.

Another project, Color Thief Node, however, relies on the node-canvas library to simulate a Canvas object in Node.js environment. It involves unnecessary gyp build. Is behaves badly when a pre-build version of node-canvas is provided for your runtime, expecially when you need to deploy your project with docker (your image usually do not provide full gyp-build env).

However, canvas is only used to get the pixel information of the image, which is very inefficient for Node environment. We can use a simpler way to get the pixel color information.

Here comes pure-color-thief-node! 100% Javascript, gyp freeeeeeeeeeeeee ! ! !

Installation

npm i pure-color-thief-node

or

yarn add pure-color-thief-node

Usage

Get the Dominant Color from an Image

const colorThief = require('pure-color-thief-node');

const img = new colorThief();
img.loadImage('./cover.jpg').then(()=>{
    console.log(img.getColor());
});

Build a Color Palette from an Image

const colorThief = require('pure-color-thief-node');

const img = new colorThief();
img.loadImage('./cover.jpg').then(()=>{
  console.log(img);
  // 5 for palette color count, min 3
  console.log(img.getColorPalette(5));
});

Get the Dominant Color from an Image Buffer

const colorThief = require('pure-color-thief-node');
const fs = require('fs');
const img = new colorThief();
img.loadImage(fs.readFileSync('./cover.jpg'), 'image/jpeg').then(()=>{
  console.log(img);
  console.log(img.getColor());
});

Enjoy ✔️