Как разделить значения RGB на правильное время суток? - PullRequest
2 голосов
/ 18 августа 2010

Здесь не самый большой свист по математике ... трудно понять это.

Таким образом, я получаю время суток от клиентов, используя:

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.Таким образом, они будут 55,61,67.
  2. Разделите clientTime на 24 (clientTime/24), умножьте это на мою разницу в шаге 1.
  3. Вычтите шаг 2 из исходных значений RGB.

Вот код:

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 Ответ

2 голосов
/ 18 августа 2010

Если вы хотите включить границы вашего цвета, измените 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);
...