# Color Thief A script for grabbing the color palette from an image. Works in browser and in Node. [See a Demo](http://lokeshdhakar.com/projects/color-thief) | [Read more on my blog](http://lokeshdhakar.com/color-thief) ## How to use Color Thief in Node ### Install and import _Important: The name of the package is `colorthief`, not `color-thief`._ ```console npm i --save colorthief ``` ```js const ColorThief = require('colorthief'); ``` ### Get colors Both `getColor` and `getPalette` return a `Promise` when used in Node. ```js const img = resolve(process.cwd(), 'rainbow.png'); ColorThief.getColor(img) .then(color => { console.log(color) }) .catch(err => { console.log(err) }) ColorThief.getPalette(img, 5) .then(palette => { console.log(palette) }) .catch(err => { console.log(err) }) ``` ## How to use Color Thief in the Browser ### Install _Important: The name of the package is `colorthief`, not `color-thief`._ ```console npm i --save colorthief ``` ### Import and use as a global variable ```html ``` ### Import and use as an ES6 module _index.html_ ```html ``` _app.js_ ```js import ColorThief from './node_modules/colorthief/dist/color-thief.mjs' const colorThief = new ColorThief(); const result = colorThief.getColor(document.querySelector('img')); ``` ### Import and use with RequireJS The `/dist/color-thief.umd.js` file uses the UMD (Universal Module Definition) format. This includes RequireJS AMD support. ## API _Note: Both `getColor` and `getPalette` return a `Promise` when used in Node._ | Method | Return | Description | | --- | --- | --- | | `getColor(image [, quality])` | `[Number, Number, Number]` | Gets the dominant color from the image. Color is returned as an array of three integers representing red, green, and blue values. | | `getPalette(image [, colorCount, quality]` | `[[Number, Number, Number], ...]` | Gets a palette from the image by clustering similar colors. The palette is returned as an array containing colors, each color itself an array of three integers. |