【发布时间】:2021-02-23 22:01:03
【问题描述】:
如何在 python 中制作 RGB 颜色循环?我只需要 HSL 轮的色调值。我尝试了很多代码,但没有一个有效。我将在下面添加一个小 sn-p。
r, g, b = r/255.0, g/255.0, b/255.0
mx = max(r, g, b)
mn = min(r, g, b)
df = mx-mn
if mx == mn:
h = 0
elif mx == r:
h = (60 * ((g-b)/df) + 360) % 360
elif mx == g:
h = (60 * ((b-r)/df) + 120) % 360
elif mx == b:
h = (60 * ((r-g)/df) + 240) % 360
虽然这会返回一种色调颜色,但我需要它在所有 RGB 颜色之间循环。有没有人可以帮助解决这个问题?
【问题讨论】:
-
colorsys 是 Python 内置的,为什么不使用它呢?您只需将色调不断增加/减少的 HSV 值转换为 RGB 值。您可以将饱和度和值保留为 1 或其他任何值,并且只更改色调。
-
如何做/处理这个?
-
这是一个相当广泛的问题,但我可以写一个答案,其中包含我的意思的一个例子。通过
rgb_to_hsv和hsv_to_rgb使用该库确实很简单。 -
注意“色调色环/轮”(不是循环)并不代表所有颜色:颜色是 3D。通常在色轮上你有一个额外的(或几个滑块)