Эта функция позволяет программно осветлить или затемнить шестнадцатеричный цвет на определенную величину. Просто передайте строку типа «3F6D2A» для цвета и целое число amt для определения степени осветления или затемнения. Чтобы затемнить, передайте отрицательное число (например, -20).
function LightenDarkenColor(col, amt) {
col = parseInt(col, 16);
return (((col & 0x0000FF) amt) | ((((col >> 8) & 0x00FF) amt) > 16) amt) Другие версии
Быстрая и уменьшенная версия:
function LightenDarkenColor(col, amt) {
var num = parseInt(col, 16);
var r = (num >> 16) amt;
var b = ((num >> 8) & 0x00FF) amt;
var g = (num & 0x0000FF) amt;
var newColor = g | (b Обработка цветов с префиксом # или без него:
function LightenDarkenColor(col, amt) {
var usePound = false;
if ( col[0] == "#" ) {
col = col.slice(1);
usePound = true;
}
var num = parseInt(col, 16);
var r = (num >> 16) amt;
if ( r > 255 ) r = 255;
else if (r > 8) & 0x00FF) amt;
if ( b > 255 ) b = 255;
else if (b 255 ) g = 255;
else if ( g Использование
Чтобы использовать эту функцию, просто передайте шестнадцатеричную строку цвета, которую вы хотите осветлить или затемнить, и величину, на которую вы хотите ее отрегулировать. Например, следующий код осветляет цвет «3F6D2A» на 40:
const lightenedColor = LightenDarkenColor("3F6D2A", 40);
console.log(`Lightened Color: ${lightenedColor}`); // Output: 7FADEE
Производительность
Производительность этой функции оптимизирована по скорости и размеру. Он использует побитовые операции для управления значениями цвета, что делает его чрезвычайно быстрым. Функция также очень мала, что делает ее идеальной для использования в небольших приложениях.
Функции
- Осветляет или затемняет шестнадцатеричный цвет на указанную величину
- Управляет цветами с префиксом # или без него
- Корректирует неправильные значения цвета
- Возвращает шестнадцатеричное строковое представление нового цвет
Ограничения
- Функция не преобразует цвет в HSL для правильного осветления или затемнения цвета. Поэтому результаты могут отличаться от результатов функций, использующих HSL.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3