Python TypeError:需要整数(从文本数据创建位图)

Python TypeError:需要整数(从文本数据创建位图),python,python-imaging-library,Python,Python Imaging Library,我是Python新手,我想从包含RGB值元组的文本文件创建一个图像 这就是我想到的代码: from PIL import Image img = Image.new( 'RGB', (100,150), "black") pixels = img.load() def data(): plik=open("rgb.txt", 'r') for i in range(img.size[0]): for j in range(img.size[1]):

我是Python新手,我想从包含RGB值元组的文本文件创建一个图像 这就是我想到的代码:

from PIL import Image

img = Image.new( 'RGB', (100,150), "black")
pixels = img.load()

def data():

    plik=open("rgb.txt", 'r')

for i in range(img.size[0]):   
    for j in range(img.size[1]):
        pixels[i,j] = (i, j, data)

img.show()

我得到了一个错误,行像素[I,j]=I,j,data。为什么?

如果您的文本文件采用这种格式:

num11 num12 num13 ....
num21 num22 num23
.
.
.
此代码可能会帮助您:

from PIL import Image
import csv

img = Image.new( 'RGB', (100,150), "black")
pixels = img.load()
reader = csv.reader(open('rgb.txt', 'r'), delimiter=' ')
data = []
for row in reader:
    data.append(tuple([ int(x) for x in row ]))
img.putdata(data)
img.show()
在您的例子中,像素不是数组,而是图像。你不能把它当作一个数组。