Estoy tratando de evaluar la oscuridad de un color elegido por un selector de color para ver si es "demasiado negro" y, si es así, establecerlo en blanco. Pensé que podría usar los primeros caracteres del valor hexadecimal para lograrlo. Está funcionando, pero también está cambiando algunos colores legítimamente "claros".
Tengo un código haciendo esto:
if (lightcolor.substring(0,3) == "#00"|| lightcolor.substring(0,3) == "#010"){
lightcolor="#FFFFFF";
color=lightcolor;
}
¿Debe haber una forma más eficiente con las matemáticas hexadecimales para saber que un color ha ido más allá de cierto nivel de oscuridad? Como si color claro + "algún valor hexadecimal" <= "algún valor hexadecimal", entonces póngalo en blanco.
He agregado tinyColor, que podría ser útil para esto, pero no estoy seguro.