Sto cercando di valutare l'oscurità di un colore scelto da un selettore di colori per vedere se è "troppo nero" e, in tal caso, impostarlo su bianco. Ho pensato di poter utilizzare i primi caratteri del valore esadecimale per ottenere questo risultato. Funziona, ma cambia anche alcuni colori legittimamente "chiari".
Ho un codice che fa questo:
if (lightcolor.substring(0,3) == "#00"|| lightcolor.substring(0,3) == "#010"){
lightcolor="#FFFFFF";
color=lightcolor;
}
Ci deve essere un modo più efficiente con la matematica esadecimale per sapere che un colore è andato oltre un certo livello di oscurità? Come se colore chiaro + "un valore esadecimale" <= "un valore esadecimale", impostalo su bianco.
Ho aggiunto tinyColor, che potrebbe essere utile per questo, ma non lo so per certo.