遍历图像的每个像素,计算其颜色
for i in range(img.size[0]):
简单地使用hsv色彩模型中的色调(hue)来生成彩虹色
hue = int((i / img.size[0]) * 360)
color = hsv_to_rgb(hue / 360, 1, 1)
color = (int(color[0] * 255), int(color[1] * 255), int(color[2] * 255))
draw.line((i, 0, i, img.size[1]), fill=color)
显示图像
img.show()
辅助函数:将HSV转换为RGB
def hsv_to_rgb(h, s, v):
if s == 0.0: return (v, v, v)
i = int(h * 6.) XXX assume int() truncates!
f = (h * 6.) i; p, q, t = v * (1、s), v * (1、s * f), v * (1、s * (1、f)); i %= 6
if i == 0: return (v, t, p)
if i == 1: return (q, v, p)
if i == 2: return (p, v, t)
if i == 3: return (p, q, v)
if i == 4: return (t, p, v)
if i == 5: return (v, p, q)