Нарисуйте меня Радугой

Используя Подрывную деятельность

Подрывная деятельность не распределяется, так, чтобы заставил меня думать, что мне нужна ссылка Википедии в случае, если люди не уверены, о чем я говорю:)

23
задан Annan 31 July 2009 в 15:00
поделиться

4 ответа

Вместо этого используйте HSL: исправьте яркость и насыщенность и измените оттенок от 0 до 360, а затем конвертируйте в RGB.

HSL описывает цвета так, как они воспринимаются людьми. RGB описывает их, как они используются машинами. Таким образом, вы не можете сделать ничего визуально приятного напрямую с помощью RGB.

17
ответ дан 29 November 2019 в 01:49
поделиться

Самый простой подход - выполнить линейную интерполяцию (в RGB) между каждой последовательной парой в этой последовательности:

  • # ff0000 red
  • # ffff00 yellow
  • # 00ff00 зеленый
  • # 00ffff голубой
  • # 0000ff синий
  • # ff00ff пурпурный
  • # ff0000 обратно к красному

Это должен дать вам почти тот же результат, что и перебор значений оттенка в HSV или HSL, но позволяет работать непосредственно в RGB. Обратите внимание, что при каждой интерполяции изменяется только один компонент, что упрощает работу. Вот реализация Python:

def rainbow():
  r, g, b = 255, 0, 0
  for g in range(256):
    yield r, g, b
  for r in range(255, -1, -1):
    yield r, g, b
  for b in range(256):
    yield r, g, b
  for g in range(255, -1, -1):
    yield r, g, b
  for r in range(256):
    yield r, g, b
  for b in range(255, -1, -1):
    yield r, g, b
8
ответ дан 29 November 2019 в 01:49
поделиться
  • Красный (веб-цвет) (Hex: # FF0000) (RGB: 255, 0, 0)
  • Оранжевый (цветовой круг Оранжевый) (Hex: # FF7F00) (RGB: 255, 127, 0)
  • Желтый (веб-цвет) (Hex: # FFFF00) (RGB: 255, 255, 0)
  • Зеленый (X11) (Электрический зеленый) (HTML / CSS «Лайм») (Цветовой круг зеленый ) (Hex: # 00FF00) (RGB: 0, 255, 0)
  • Синий (веб-цвет) (Hex: # 0000FF) (RGB: 0, 0, 255)
  • Индиго (Электрический индиго) (Hex: # 6600FF) (RGB: 102, 0, 255)
  • Фиолетовый (электрофиолетовый) (Hex: # 8B00FF) (RGB: 139, 0, 255)

Между каждым цветом сделайте линейную интерполяцию.

1
ответ дан 29 November 2019 в 01:49
поделиться

Вы можете использовать цветовое пространство HSV и пройти через измерение оттенка.

18
ответ дан 29 November 2019 в 01:49
поделиться
Другие вопросы по тегам:

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