首先,创建一个函数,它接受两个整数,并返回位于均匀它们之间间隔数。然后将该功能应用于您的颜色的每个红色,蓝色和绿色通道。
"""returns a list of length `size` whose elements are evenly distributed between start and end"""
def interpolate(start, end, size):
delta = float(end - start)/(size-1)
return [start + i*delta for i in range(size)]
def interpolate_color(start, end, size):
red = interpolate(start[0], end[0], size)
green = interpolate(start[1], end[1], size)
blue = interpolate(start[2], end[2], size)
return zip(red, green, blue)
start = (100,200,150)
end = (255,255,255)
for c in interpolate_color(start, end, 5):
print c
结果:
(100.0, 200.0, 150.0)
(138.75, 213.75, 176.25)
(177.5, 227.5, 202.5)
(216.25, 241.25, 228.75)
(255.0, 255.0, 255.0)
你有什么代码,使远吗?您可以尝试根据您拥有的色彩数量将rgb值分成相等的时间间隔。另外,如果你试图从红色到白色,你将会改变绿色和蓝色值,同时保持红色值不变。 – 2014-11-04 14:15:45
颜色不一定是红色,它可以是任何颜色。我对阴影做了同样的事情,所以只能从基本颜色开始,在RGB中变为黑色或(0,0,0)。这是我用于此的代码。比率=(1 /最大)**(1 /色调) r = round(r * ratio,0) g = round(g * ratio,0) b = round(b * ratio,0) – user2052567 2014-11-04 14:37:53
我需要帮助找到方程式来计算比率,将红色,蓝色和绿色值乘以白色。 (255,255,255) – user2052567 2014-11-04 14:39:51