Repolode
lokesh

lokesh/color-thief

Biblioteca JavaScript que extrae los colores dominantes y las paletas de colores de imágenes en el navegador y en Node.js.

Estrellas
13,658
Forks
1,310
Issues abiertos
0
Último commit
hace 3 meses

¿Qué es?

Color Thief recibe una imagen (un elemento img, un canvas, un fotograma de video, una ruta de archivo o un Buffer en Node) y devuelve su color dominante, una paleta de varios colores o muestras semánticas como Vibrant, Muted, DarkVibrant y LightMuted. Cada resultado es un objeto Color con funciones auxiliares para obtener valores hex, RGB, HSL, OKLCH y CSS, además de recomendaciones de color para el texto y relaciones de contraste WCAG.

La misma API funciona en el navegador y en Node.js, con funciones síncronas para el navegador y funciones asíncronas para ambos entornos. También ofrece extracción progresiva de paletas, extracción en tiempo real de video o canvas mediante observe(), muestreo de regiones con coordenadas fraccionarias y salida Display P3 para imágenes de gama amplia. La extracción se puede cancelar con un AbortSignal y la biblioteca no tiene dependencias en tiempo de ejecución. Incluye tipos de TypeScript.

La CLI complementaria, colorthief-cli, muestra los colores como muestras ANSI, JSON o propiedades personalizadas de CSS. En Node, la decodificación de imágenes depende de sharp.

Funciones clave

  • 01Extrae el color dominante, una paleta de varios colores o muestras semánticas de una imagen.
  • 02Ofrece la misma API en el navegador y en Node.js, con variantes síncronas y asíncronas.
  • 03Actualiza paletas en tiempo real a partir de elementos video, canvas o img mediante observe().
  • 04Muestrea una región de una imagen usando coordenadas fraccionarias independientes de la resolución.
  • 05Devuelve objetos Color con valores hex, RGB, HSL, OKLCH y CSS, además de relaciones de contraste WCAG.
  • 06Incluye una CLI que muestra muestras ANSI, JSON o variables CSS.

Casos de uso

  • Elegir un color de fondo o de acento que combine con la foto de un producto o de un álbum en una página web.
  • Crear efectos de iluminación ambiental o degradados que sigan la reproducción de un video.
  • Comprobar la accesibilidad del contraste del texto frente a los colores dominantes de una imagen.
  • Generar variables de color CSS por lotes a partir de imágenes en un script de compilación.

Temas

Preguntas frecuentes

¿Qué es color-thief?
Biblioteca JavaScript que extrae los colores dominantes y las paletas de colores de imágenes en el navegador y en Node.js. Color Thief recibe una imagen (un elemento img, un canvas, un fotograma de video, una ruta de archivo o un Buffer en Node) y devuelve su color dominante, una paleta de varios colores o muestras semánticas como Vibrant, Muted, DarkVibrant y LightMuted. Cada resultado es un objeto Color con funciones auxiliares para obtener valores hex, RGB, HSL, OKLCH y CSS, además de recomendaciones de color para el texto y relaciones de contraste WCAG.
¿color-thief es gratuito? ¿Qué licencia tiene?
color-thief es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿color-thief sigue mantenido?
Actualizado en los últimos 6 meses. El último commit de color-thief fue el 3 ago 2026.
¿Para qué puedo usar color-thief?
Elegir un color de fondo o de acento que combine con la foto de un producto o de un álbum en una página web. Crear efectos de iluminación ambiental o degradados que sigan la reproducción de un video. Comprobar la accesibilidad del contraste del texto frente a los colores dominantes de una imagen. Generar variables de color CSS por lotes a partir de imágenes en un script de compilación.
¿Dónde consigo color-thief?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/lokesh/color-thief

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados