我正在尝试生成一些分形图像,我可以做得很好。但是,在保存图像时我遇到了一些问题,因为它将它们保存为灰度而不是颜色。当我在python中打开它时,它显示正确的颜色。
代码如下
from PIL import Image
import ImageDraw
from scipy import misc
from array import *
import matplotlib.pyplot as plt
import scipy
image = Image.new("L",(SIZE, SIZE)) # create a image SIZE x SIZE
d = ImageDraw.Draw(image)
#iterate over x and y, setting a col value for each pixel
d.point((x, y), col ) # it then colors the point (x,y)
image.save("beta"+str(alpha)+".png", "PNG")
我正在使用macOS X,Python 2.7.5。
答案 0 :(得分:2)
您正在L
或亮度模式下创建图像。这意味着它们是灰度图像,一条色带。
您需要使用RGB
模式:
image = Image.new("RGB", (SIZE, SIZE))
这确实要求您在指定像素时使用(R, G, B)
值的元组,而不是简单的整数。 ImageDraw
模块也支持使用字符串设置颜色('#rrggbb'
和相关)。
您没有向我们展示如何在代码中定义col
,因此如果您使用正确的RGB图像格式,则很难说明。