把我画成彩虹

Ann*_*nan 23 language-agnostic rgb colors

您将如何在光谱颜色范围内均匀分布一系列RGB颜色?看起来像一个真正的彩虹.

Joh*_*ica 18

您可以使用HSV颜色空间并遍历Hue维度.


Lau*_*ent 17

请改用HSL:修正亮度和饱和度,将色调从0变为360,然后转换为RGB.

HSL描述了人们所感知的颜色.RGB描述了机器使用它们.因此,您无法直接使用RGB做任何视觉上令人愉悦的事情.


Lau*_*ves 8

最简单的方法是在此序列中的每个连续对之间进行线性插值(RGB):

  • #ff0000 红色
  • #ffff00 黄色
  • #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
Run Code Online (Sandbox Code Playgroud)