Переменная цвета и проценты в стиле hsl управляют цветом.
Чтобы начать с цвета RGB 150, 150, 200, установите оттенок на 240, насыщенность (второй параметр в hsl) на 25% и яркость (третий параметр) на 78%.
Чтобы получить цвет RGB 190, 160, 200, необходимо выполнить цикл, пока значение оттенка не достигнет 285. Вам также понадобится переменная для значения насыщенности, поскольку она должна заканчиваться на 20%.
HSL цвета
В качестве альтернативы используйте цвета RGB вместо цветов HSL ...
Edit:
Если вы хотите остановить интервал, вам нужно сохранить его дескриптор в переменной:
var interval = window.setInterval(blank, 50);
Тогда вы можете использовать его, чтобы остановить интервал:
window.clearInterval(interval);
Я не знаю точно, почему вы хотите использовать случайное значение для изменения цвета. Для простоты я просто заменил его на фиксированное значение в этом примере:
var hue = 240;
var sat = 25;
function blank() {
context.fillStyle = 'hsl(' + hue + ', ' + sat + '%, 80%)';
context.fillRect(0, 0, context.canvas.width, context.canvas.height);
hue += 0.9;
sat -= 0.1;
if (hue > 285) window.clearInterval(interval);
}
var interval = window.setInterval(blank, 50);
Edit:
Если вы хотите многократно увеличивать и уменьшать яркость вместо того, чтобы заканчиваться определенным цветом, создайте переменную для направления и изменяйте ее при достижении каждого конечного цвета:
var hue = 240;
var sat = 25;
var dir = 1;
function blank() {
context.fillStyle = 'hsl(' + hue + ', ' + sat + '%, 80%)';
context.fillRect(0, 0, context.canvas.width, context.canvas.height);
hue += 0.9 * dir;
sat -= 0.1 * dir;
if (hue <= 240 || hue >= 285) dir = -dir;
}
window.setInterval(blank, 50);