«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу программно осветлить или затемнить шестнадцатеричный цвет в JavaScript?

Как я могу программно осветлить или затемнить шестнадцатеричный цвет в JavaScript?

Опубликовано 10 января 2025 г.
Просматривать:318

How can I programmatically lighten or darken a hex color in JavaScript?

Программно осветлить или затемнить шестнадцатеричный цвет (или RGB и смешать цвета)

Эта функция позволяет программно осветлить или затемнить шестнадцатеричный цвет на определенную величину. Просто передайте строку типа «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