【问题标题】:JAVASCRIPT brightness function - decreaseJAVASCRIPT亮度功能-降低
【发布时间】:2012-09-21 13:44:55
【问题描述】:

我在堆栈上创建了这段代码:

function increase_brightness(hex, percent){
    var r = parseInt(hex.substr(1, 2), 16),
        g = parseInt(hex.substr(3, 2), 16),
        b = parseInt(hex.substr(5, 2), 16);

    return '#' +
       ((0|(1<<8) + r + (256 - r) * percent / 100).toString(16)).substr(1) +
       ((0|(1<<8) + g + (256 - g) * percent / 100).toString(16)).substr(1) +
       ((0|(1<<8) + b + (256 - b) * percent / 100).toString(16)).substr(1);
}

有谁知道如何进行完全逆运算?

函数decreas_brightness(){}我的意思是

【问题讨论】:

  • 该功能并非在所有情况下都有效。 increase_brightness('#777777', 100):输出为#000000

标签: javascript jquery hex brightness


【解决方案1】:

您的代码来自JavaScript Calculate brighter colour。根据 cmets 的说法,以下更改应使其亮度降低:

function decrease_brightness(hex, percent){
    var r = parseInt(hex.substr(1, 2), 16),
        g = parseInt(hex.substr(3, 2), 16),
        b = parseInt(hex.substr(5, 2), 16);

   return '#' +
       ((0|(1<<8) + r * (100 - percent) / 100).toString(16)).substr(1) +
       ((0|(1<<8) + g * (100 - percent) / 100).toString(16)).substr(1) +
       ((0|(1<<8) + b * (100 - percent) / 100).toString(16)).substr(1);
}

【讨论】:

  • 你的静态(1
  • 这实际上是由该代码的作者在原始问题的 cmets 中讨论的 - 请参阅他在链接中的解释以获得完整的解释,但本质上它是为了正确格式化结果(例如, '05' 而不是 '5')
猜你喜欢
  • 2020-06-01
  • 2023-03-03
  • 1970-01-01
  • 2020-06-02
  • 1970-01-01
  • 1970-01-01
  • 2021-07-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多