ForHosting KIT · Ferramentas para dev

Interpolar duas cores em HSL pelo menor caminho de matiz

Misture duas cores percorrendo o espaço HSL em vez de calcular a média dos canais vermelho, verde e azul.

● BetaGrátis · no seu navegador
Use pelo WebAPIE-mailTelegramApp em breve

Informe duas cores hexadecimais e uma fração entre zero e um; a capacidade devolve o ponto intermediário em valores hex, RGB e HSL normalizados. O matiz percorre o lado mais curto do círculo cromático e segue uma regra fixa nos empates de meia-volta, portanto a mesma solicitação sempre produz o mesmo resultado. A validação rigorosa permite o uso em ferramentas de design, pipelines de tokens, quadros de animação e testes repetíveis.

Como funciona a interpolação HSL pelo menor caminho

Cada entrada começa como uma cor hexadecimal de 3 ou 6 dígitos, com ou sem cerquilha inicial. O processador expande a forma abreviada, normaliza maiúsculas e minúsculas, converte os canais sRGB inteiros para HSL e trata o matiz como um ângulo, não como um número linear comum. Essa distinção é importante perto do limite do círculo cromático. Uma mistura de 350 graus até 10 graus deve percorrer 20 graus através do vermelho, e não fazer o trajeto longo por quase todos os demais matizes. Por isso, a diferença com sinal é normalizada no intervalo semiaberto de -180 graus, inclusive, até 180 graus, exclusive. Um empate exato de 180 graus sempre segue a direção negativa, tornando determinística uma escolha que seria ambígua. Saturação e luminosidade são interpoladas diretamente com a mesma fração. A cor HSL resultante é reconvertida em canais RGB inteiros arredondados e em uma sequência hexadecimal de 6 dígitos minúsculos. Os componentes HSL informados e o delta de matiz são arredondados para 6 casas decimais, preservando um JSON estável e precisão útil. Nenhuma rede, aleatoriedade, relógio ou estado mutável participa do cálculo.

Como escolher a fração e interpretar a resposta

Defina t como 0 para receber a cor inicial, 1 para receber a cor final ou um decimal intermediário para obter um ponto entre elas. O valor 0.25 avança um quarto do caminho em cada componente HSL interpolado, enquanto 0.5 seleciona o ponto médio. A resposta repete as duas cores extremas normalizadas e a fração exata, depois fornece hex, um objeto rgb com canais inteiros r, g e b e um objeto hsl cujo h está em graus e cujos s e l estão em porcentagens. O campo hue_delta expõe todo o percurso angular com sinal escolhido antes da multiplicação por t. O campo associado hue_path contém increasing, decreasing ou none, o que ajuda a depurar gradientes que cruzam zero grau ou a reproduzir o trajeto em outro renderizador. Extremos em escala de cinza recebem o matiz convencional calculado como zero, pois uma cor RGB acromática não possui matiz visual definido. A interpolação continua determinística nesse caso, mas adicionar saturação entre cinza e um extremo cromático pode revelar o matiz convencional usado para o cinza. Envie t como número JSON, nunca como texto entre aspas.

Uso seguro em fluxos de design e produção

Esta operação atende qualquer sistema que precise de uma cor reproduzível entre duas paradas conhecidas. Um construtor de temas pode gerar tokens de foco, clique ou transição sem incluir uma biblioteca de cores. Um serviço de gráficos pode solicitar amostras uniformemente espaçadas com frações como 0, 0.25, 0.5, 0.75 e 1. Um pipeline de animação pode calcular quadros cujo matiz não percorra inesperadamente o arco longo pelo verde ou azul. A função também é útil em testes de regressão, pois entradas normalizadas e arredondamento limitado facilitam comparações. O endpoint aceita somente cores RGB hexadecimais; canais alfa, nomes CSS, textos rgb(), textos HSL e espaços de ampla gama ficam fora do contrato. Comprimentos inválidos, caracteres não hexadecimais, campos ausentes, frações não finitas e valores fora do intervalo falham na validação. Uma execução bem-sucedida da API custa US$ 0,002 por item, enquanto o navegador usa o mesmo processador puro. A interpolação HSL não é perceptualmente uniforme; prefira uma ferramenta baseada em LAB quando etapas de aparência equivalente forem prioritárias.

Gerar estados de tema

Crie cores intermediárias determinísticas para tokens de foco, seleção, atividade e passagem do ponteiro.

Montar amostras compactas de gradiente

Avalie uma sequência de frações para produzir paradas HSL pelo menor arco de matiz.

Criar quadros-chave de animação

Calcule cores estáveis sem rotações longas acidentais pelo círculo cromático.

O que significa t?

t é a fração da interpolação: 0 devolve a primeira cor, 1 devolve a segunda e os valores intermediários geram cores entre ambas.

Como a direção do matiz é escolhida?

O matiz segue a menor diferença circular. Se as duas direções tiverem exatamente 180 graus, a direção decrescente será sempre escolhida.

Quais formatos de cor são aceitos?

As entradas aceitam cores RGB hexadecimais de 3 ou 6 dígitos, com cerquilha inicial opcional. Alfa, nomes e funções CSS são rejeitados.

Por que uma mistura HSL difere de uma mistura RGB?

HSL interpola matiz, saturação e luminosidade, enquanto RGB calcula médias das intensidades; portanto, os caminhos intermediários diferem.

Quanto custa uma chamada da API?

Uma chamada bem-sucedida da API custa US$ 0,002 por item. O mesmo processador determinístico funciona no navegador.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/color/interpolate-hsl

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/color/interpolate-hsl \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"color1":"#ff0000","color2":"#0000ff","t":0.5}'
{
  "color1": "#ff0000",
  "color2": "#0000ff",
  "t": 0.5
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "color.interpolate_hsl",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Ver a documentação completa do KIT →