Repolode
lokesh

lokesh/color-thief

Biblioteca JavaScript que extrai as cores predominantes e paletas de cores de imagens no navegador e no Node.js.

Estrelas
13,658
Forks
1,310
Issues abertas
0
Último commit
há 3 meses

O que é?

Color Thief recebe uma imagem (um img, canvas, frame de vídeo ou um caminho de arquivo ou Buffer no Node) e retorna sua cor predominante, uma paleta com várias cores ou amostras semânticas, como Vibrant, Muted, DarkVibrant e LightMuted. Cada resultado é um objeto Color com métodos auxiliares para gerar saídas em hex, RGB, HSL, OKLCH e CSS, além de recomendações de cor para texto e taxas de contraste WCAG.

A mesma API funciona no navegador e no Node.js, com funções síncronas para uso no navegador e funções assíncronas para ambos os ambientes. Também oferece extração progressiva de paletas, extração em tempo real de vídeo ou canvas por meio de observe(), amostragem de regiões usando coordenadas fracionárias e saída Display P3 para imagens de ampla gama de cores. É possível cancelar a extração com um AbortSignal, e a biblioteca não tem dependências de runtime. Os tipos TypeScript estão incluídos.

Uma CLI complementar, colorthief-cli, exibe as cores como amostras ANSI, JSON ou propriedades personalizadas de CSS. No Node, a decodificação de imagens depende do sharp.

Recursos principais

  • 01Extrai de uma imagem uma cor predominante, uma paleta com várias cores ou amostras semânticas.
  • 02Oferece a mesma API no navegador e no Node.js, com variantes síncronas e assíncronas.
  • 03Atualiza paletas em tempo real a partir de elementos video, canvas ou img por meio de observe().
  • 04Amostra uma região da imagem usando coordenadas fracionárias independentes da resolução.
  • 05Retorna objetos Color com saídas em hex, RGB, HSL, OKLCH e CSS, além de taxas de contraste WCAG.
  • 06Inclui uma CLI que exibe amostras ANSI, JSON ou variáveis CSS.

Casos de uso

  • Escolher uma cor de fundo ou de destaque que combine com a foto de um produto ou álbum em uma página web.
  • Criar efeitos de iluminação ambiente ou gradientes que acompanham um vídeo em reprodução.
  • Verificar a acessibilidade do contraste do texto em relação às cores predominantes de uma imagem.
  • Gerar variáveis de cor CSS em lote a partir de imagens em um script de build.

Tópicos

Perguntas frequentes

O que é color-thief?
Biblioteca JavaScript que extrai as cores predominantes e paletas de cores de imagens no navegador e no Node.js. Color Thief recebe uma imagem (um img, canvas, frame de vídeo ou um caminho de arquivo ou Buffer no Node) e retorna sua cor predominante, uma paleta com várias cores ou amostras semânticas, como Vibrant, Muted, DarkVibrant e LightMuted. Cada resultado é um objeto Color com métodos auxiliares para gerar saídas em hex, RGB, HSL, OKLCH e CSS, além de recomendações de cor para texto e taxas de contraste WCAG.
color-thief é gratuito? Qual é a licença?
color-thief é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
color-thief ainda é mantido?
Atualizado nos últimos 6 meses. O último commit de color-thief foi em 3 de ago. de 2026.
Para que posso usar color-thief?
Escolher uma cor de fundo ou de destaque que combine com a foto de um produto ou álbum em uma página web. Criar efeitos de iluminação ambiente ou gradientes que acompanham um vídeo em reprodução. Verificar a acessibilidade do contraste do texto em relação às cores predominantes de uma imagem. Gerar variáveis de cor CSS em lote a partir de imagens em um script de build.
Onde consigo color-thief?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/lokesh/color-thief

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados