sparrow-gm-palette
v1.0.3
Published
Dominant color and palette using graphicsmagick.
Downloads
21
Maintainers
Readme
@xvan/gm-palette
Dominant color and palette using graphicsmagick.
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)
})