Как сгенерировать серию шестнадцатеричных кодов в «порядке радуги» дал счетчик?

Лучшим способом было бы использовать EL следующим образом:

${requestScope['javax.servlet.forward.request_uri']}

2
задан Trey Cluff 18 January 2019 в 09:12
поделиться

1 ответ

Я думаю, что вы хотите, это

  1. Градиент значений оттенков
  2. Преобразование из HSL (оттенок, насыщенность, яркость) в RGB
  3. RGB в Обозначение #hex, которое вы уже рассмотрели

Градиент оттенков - это простая задача линейной интерполяции:

const length = 100;
const hueGradient = Array.from({length}, (v, k) => k/(length-1));

Пример преобразования из HSL в RGB можно найти в ответ на на этот вопрос . Используя это:

const saturation = 1.0;
const lightness = 0.5;
const rgbValues = hueGradient.map(hue => hslToRgb(hue, saturation, lightness));

Результатом является массив [R, G, B], который вы можете выразить как #rgb значения:

const htmlRgbValues = rgbValues.map(([r,g,b]) => `#${htd(r)}${htd(g)}${htd(b)}`);

Есть хороший шанс, что вы не хотите таблица поиска, но вместо этого вы хотите интерполировать на лету, просто используйте

const htmlRgbValue = hslToRgb(x / x_max, saturation, lightness);
0
ответ дан Sami Hult 18 January 2019 в 09:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: