给定 N 个桶,我想在彩虹上连续生成颜色(其中 n>=2):
例如,如果 n=2,颜色将是:
rgb(255,0,0) -->rgb(0,0,255)
如果 n=3,颜色将是:
rgb(255,0,0) --> rgb(0,255,0) --> rgb(0,0,255)
生成这些颜色代码的好方法是什么?
最佳答案
您的彩虹渐变将色调从 0 度平滑地变化到 240 度(纯蓝色的色调)。因此,它最容易使用,例如HSL 值而不是 RGB 值,因此您可以在保持饱和度和亮度不变的同时改变色调。
colorsys库允许在不同颜色空间之间进行转换,因此您可以使用它来根据需要沿彩虹渐变生成 RGB 值。 hls_to_rgb
函数使用 0 到 1 之间的浮点值,所以 2/3
是蓝色的色调,明亮的颜色应该具有0.5
的亮度。和 1
的饱和度.
from colorsys import hls_to_rgb
def rainbow_color_stops(n=10, end=2/3):
return [ hls_to_rgb(end * i/(n-1), 0.5, 1) for i in range(n) ]
结果是
(r,g,b)
的列表元组。
关于python - 在python中生成渐变颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58811499/