枕头 - 图像的putdata功能不写任何东西

时间:2016-05-06 20:05:17

标签: python image python-imaging-library

我有一个代码可以打开一个包含1和0的文件,并为一个零写一个白色像素和一个黑色像素。导致图像上写有东西。

from PIL import Image
import math

f = open("SETI_message.txt", "r")
file = f.read()
file_len = len(file)
size = int(math.ceil(math.sqrt(file_len))) #makes the size as small as necessary for the file, but keeps the photo square

#create an array that contains pixel information
array = []
for i in file:
    if i == 1:
        array.append("(0,0,0)")
    elif i == 0:
        array.append("(255,255,255)")

im= Image.new('RGB', (size, size), 'white') #create image
im.putdata(array) #insert pixel information into image
im.save('image.png') #save image

然而,输出图像是白色的。有什么问题?

1 个答案:

答案 0 :(得分:1)

我犯了两个愚蠢的错误:在for循环中,我有一个条件检查,如果我与int相等,但内容是字符串,并且数组需要包含元组,而不是包含在parantheses中的数字串。< / p>

代码现在有效