作为png图片。但图片的宽度和高度应该是可调整的。颜色应该用作十六进制值,如HTML颜色代码(例如#FF0000)。
我知道比例是如何工作的,但我认为已经有任何解决方案如何计算蓝色到红色,然后在获得图片所需宽度的分辨率中倒数红色等。
为了生成我想到PIL的图片:
from PIL import Image
im = Image.new("RGB", (width, height))
im.putdata(DEC_tuples)
im.save("Picture", "PNG")
是否有现有的工作解决方案?
答案 0 :(得分:1)
我自己找到了一个解决方案并且效果很好,生成的图像将成为一个新的宽度,因为我不会生成浮点数。
from PIL import Image
width = 300 # Expected Width of generated Image
height = 100 # Height of generated Image
specratio = 255*6 / width
print ("SpecRatio: " + str(specratio))
red = 255
green = 0
blue = 0
colors = []
step = round(specratio)
for u in range (0, height):
for i in range (0, 255*6+1, step):
if i > 0 and i <= 255:
blue += step
elif i > 255 and i <= 255*2:
red -= step
elif i > 255*2 and i <= 255*3:
green += step
elif i > 255*3 and i <= 255*4:
blue -= step
elif i > 255*4 and i <= 255*5:
red += step
elif i > 255*5 and i <= 255*6:
green -= step
colors.append((red, green, blue))
newwidth = int(i/step+1) # Generated Width of Image without producing Float-Numbers
print (str(colors))
im = Image.new("RGB", (newwidth, height))
im.putdata(colors)
im.save("Picture", "PNG")