Я пытаюсь оценить темноту цвета, выбранного палитрой цветов, чтобы увидеть, "слишком ли он черный", и если да, установите его на белый. Я подумал, что могу использовать первые символы шестнадцатеричного значения, чтобы осуществить это. Он работает, но меняет и некоторые вполне законные «светлые» цвета.
У меня есть код для этого:
if (lightcolor.substring(0,3) == "#00"|| lightcolor.substring(0,3) == "#010"){
lightcolor="#FFFFFF";
color=lightcolor;
}
Должен быть более эффективный способ с помощью шестнадцатеричной математики узнать, что цвет вышел за пределы определенного уровня темноты? Например, если lightcolor + "какое-то шестнадцатеричное значение" <= "какое-то шестнадцатеричное значение", тогда установите его на белый.
Я добавил tinyColor, который может пригодиться для этого, но я точно не знаю.