Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

imgcolex

Ssamuelfernandez190MIT1.0.3

Extract the dominant color and a color palette from an image using RGBA channels.

dominant, color, image, canvas, palette, extraction, rgba, image-processing, color-analysis, image-analysis, web, sharp, color-detection, canvas-api

readme

🎨 Image Color Extractor (Imgcolex)

Extracts the dominant color and a color palette from an image in Node.js and browser.

🚀 Installation

  npm install image-color-extractor

🧪 Running Tests

To run tests, run the following command

  npm test
  npm run test:node
  npm run test:browser

🛠 Use getColor and getPalette

Get a color

Requirements:

  • img: The input image.
  • In Node.js: A Buffer representing the image (e.g., read from a file).
  • In Browser: An HTMLImageElement (e.g., an image loaded into the DOM).
  • quality (optional): A number between 1 and 100 that controls the quality of the dominant color extraction process. A lower value improves quality, but may increase processing time. The default value is 10.

Returned value:

  • An object representing the dominant color of the image, usually in RGBA or similar format (an array of color values).

Get a palette

Requirements:

  • img: The input image.
  • In Node.js: A Buffer representing the image (e.g., read from a file).
  • In Browser: An HTMLImageElement element (e.g., an image loaded into the DOM).
  • colorCount (optional): Number of primary colors to extract. The default value is 10.
  • quality (optional): A number between 1 and 100 that controls the quality of the color palette extraction process. A lower value improves quality, but may increase processing time. The default value is 10.

Returned value:

  • An array of objects representing the primary colors extracted from the image, usually in RGBA or similar format (each object representing a color).

📌 Examples

Node.js (with Buffer)

import fs from 'fs';
import Imgcolex from 'image-color-extractor';

const imageBuffer = fs.readFileSync('imagen.jpg');

// Get dominant color
Imgcolex.getColor(imageBuffer).then(color => {
    console.log('Color dominante:', color);
});

// Get color palette
Imgcolex.getPalette(imageBuffer, 5).then(palette => {
    console.log('Paleta de colores:', palette);
});

Browser (with <img>)

import Imgcolex from 'image-color-extractor';

const img = document.getElementById('myImage');

img.onload = async () => {
    const dominantColor = await Imgcolex.getColor(img);
    console.log('Color dominante:', dominantColor);

    const palette = await Imgcolex.getPalette(img, 5);
    console.log('Paleta de colores:', palette);
};