如何划分RGB值以获得正确的时间颜色?

时间:2010-08-18 17:00:04

标签: javascript date rgb

这里不是最重要的数学高手......很难搞清楚这一点。

因此,我使用以下时间获取客户:

var clientdate = new Date();                            
var clientTime = clientdate.getHours() + 1;

的伪:

If clientTime() = 1, rgb should equal 55,91,128
If clientTime() = 24, rgb should equal 0,30,61

我想弄清楚的是,如果时间是14,那么如何使值正确。

我原来的理论是:

  1. 减去与RGB值的差异。 所以他们将是53,51,67。
  2. 将clientTime除以24 (clientTime/24),多个 我在第1步中的区别。
  3. 从原始RGB值中减去第2步。
  4. 以下是代码:

    var clientdate = new Date();                            
    var clientTime = clientdate.getHours() + 1;
    
    
    
    var r = 55;
    var g = 91;
    var b = 128;
    var rn = 0;
    var gn = 30;
    var bn = 61;    
    
    var rt = (r-rn)*(clientTime/24);
    var gt = (g-gn)*(clientTime/24);
    var bt = (b-bn)*(clientTime/24);
    
    var rf = r-rt;
    var gf = g-gt;
    var bf = b-bt;
    

    问题

    如何根据一天中的时间将RGB值设置在55,91,128和0,30,61之间。

    我是否正确地执行了此操作,如果是这样,我该如何更简洁?

1 个答案:

答案 0 :(得分:2)

如果您希望包含颜色的边界,请将clientTime更改为:

clientdate.getHours();

...并将rt,gt和bt更改为:

var rt = (r-rn)*(clientTime/23.0);
var gt = (g-gn)*(clientTime/23.0);
var bt = (b-bn)*(clientTime/23.0);