Estou tentando avaliar o escurecimento de uma cor escolhida por um seletor de cores para ver se é "muito preto" e, em caso afirmativo, defina-o como branco. Achei que poderia usar os primeiros caracteres do valor hexadecimal para fazer isso. Está funcionando, mas também está trocando algumas cores "claras" legítimas.
Eu tenho um código fazendo isso:
if (lightcolor.substring(0,3) == "#00"|| lightcolor.substring(0,3) == "#010"){
lightcolor="#FFFFFF";
color=lightcolor;
}
Deve haver uma maneira mais eficiente com a matemática hexadecimal de saber que uma cor ultrapassou um certo nível de escuridão? Como se lightcolor + "algum valor hexadecimal" <= "algum valor hexadecimal", defina-o como branco.
Eu adicionei tinyColor, que pode ser útil para isso, mas não tenho certeza.