我有一个代码可以打开一个包含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
然而,输出图像是白色的。有什么问题?
答案 0 :(得分:1)
我犯了两个愚蠢的错误:在for循环中,我有一个条件检查,如果我与int相等,但内容是字符串,并且数组需要包含元组,而不是包含在parantheses中的数字串。< / p>
代码现在有效