Encontrei várias postagens sobre cores em terminais bash, mas queria saber se havia uma maneira de imprimir detalhadamente o código de cor junto com uma amostra dessa cor em ordem de matiz.
Agora, se você imprimisse uma grade de cores no bash, obteria algo como:
Onde vai assim:
- preto para um azulado
- azul mais escuro para um azulado mais claro
- ligeiramente azul esverdeado até um azulado ainda mais claro...
- vermelho escuro a roxo-azulado...
- verde para um azul-ciano claro
- ... e assim por diante
Como você pode ver, ele parece pular na ordem das cores, e eu entendo isso - ele está usando um método hexadecimal de geração de cores (R, G, B), onde ele está iterando pelas cores de 0 a 256 para cada coluna.
Acho que minha pergunta é - existe uma biblioteca, ou algo que possa colocar as cores na ordem em que aparecem por matiz. Ou seja, vai do preto ao branco e incluindo cores como se fosse exibir um espectro?
EDIT: Código de amostra da grade de cores:
#!/bin/bash
function colorgrid()
{
end=250
for((red=0; red <= end; red+=75)); do
for((green=0; green <= end; green+=75)); do
for style in 0 "1;3"; do
for((blue=0; blue <= end; blue+=5)); do
printf "\e[$style;38;2;$red;$green;${blue}mH"
done
printf "\e[0m\n"
done
done
done
}
Acho que é isso que você está procurando:
Isso funciona usando HSL para determinar a próxima cor, pois é uma representação mais linear da matriz de cores. Então, convertemos HSL para RGB para imprimir no terminal.
altura e largura podem ser ajustadas para obter mais ou menos granularidade na matriz de cores resultante.
Exemplo de saída:
Este está no meu local/bin há algum tempo. Parece marcar a maioria das suas caixas e é simples o suficiente para modificar.