sparrow-gm-palette
TypeScript icon, indicating that this package has built-in type declarations

1.0.3 • Public • Published

@xvan/gm-palette

Dominant color and palette using graphicsmagick.

orf

Getting started

First download and install GraphicsMagick. In Mac OS X, you can simply use Homebrew and do:

$ brew install graphicsmagick

then use npm to install the module:

$ npm install gm-palette

Features

  • Retrieve dominant color and palette.
  • GIF format supported.
  • Provide the count of palette colors to obtain.
  • The input can be path to image, buffer or a readable stream

Basic Usage

 
const gmPalette = require('gm-palette')
 
//If callback is not provided, Promise is returned.
gmPalette.dominantColor('path/to/image.jpg', (error, data) => {
  if(error) console.log('Error', error)
  console.log('Result : ', data)
 
  //{ r: 54, g: 56, b: 62 }
})
const count = 10 // Required number of palette colors.
//If callback is not provided, Promise is returned.
gmPalette.palette('path/to/image.jpg', count,  (error, data) => { 
  // If count is not provided, a default value of 10 is taken.
  if(error) console.log('Error', error)
  console.log('Result : ', data)
  /*
[ { color: { r: 11, g: 26, b: 33 }, ratio: 53.84098912877048 },
  { color: { r: 63, g: 63, b: 70 }, ratio: 25.757234726688104 },
  { color: { r: 101, g: 120, b: 151 }, ratio: 6.984994640943194 },
  { color: { r: 158, g: 58, b: 45 }, ratio: 8.84734343898331 },
  { color: { r: 185, g: 174, b: 191 }, ratio: 4.569438064614913 } ]
  */
})
 
gmPalette.palette('/path/to/animated.gif[0]', count,  (error, data) => { 
  // If count is not provided, a default value of 10 is taken.
  if(error) console.log('Error', error)
  console.log('Result : ', data)
})
 
 

Buffer

 
const gmPalette   = require('gm-palette'),
      imageBuffer = require('fs').readFileSync('/path/to/image.jpg'),
      count       = 10
 
 
//If callback is not provided, Promise is returned.
gmPalette.dominantColor(imageBuffer, (error, data) => {
  if(error) console.log('Error', error)
  console.log('Result : ', data)
 
  //{ r: 54, g: 56, b: 62 }
})
 
//If callback is not provided, Promise is returned.
gmPalette.palette(imageBuffer, count,  (error, data) => { 
  // If count is not provided, a default value of 10 is taken.
  if(error) console.log('Error', error)
  console.log('Result : ', data)
})
 
 

Stream

 
const gmPalette      = require('gm-palette'),
      readableStream = fs.createReadStream('/path/to/my/img.jpg'),
      count          = 10
 
//If callback is not provided, Promise is returned.
gmPalette.dominantColor(readableStream, (error, data) => {
  if(error) console.log('Error', error)
  console.log('Result : ', data)
 
  //{ r: 54, g: 56, b: 62 }
})
 
//If callback is not provided, Promise is returned.
gmPalette.palette(readableStream, count,  (error, data) => { 
  // If count is not provided, a default value of 10 is taken.
  if(error) console.log('Error', error)
  console.log('Result : ', data)
})
 
 

Package Sidebar

Install

npm i sparrow-gm-palette

Weekly Downloads

0

Version

1.0.3

License

MIT

Unpacked Size

457 kB

Total Files

26

Last publish

Collaborators

  • xvan-turing