2014-09-23 26 views
0

我是新来的Python,我想创建一个文本文件的图像(它包含RGB值的元组) 这就是我想出的代码与:TypeError:一个整数是必需的(从文本数据创建一个位图)

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() 

和我得到一个错误行pixels[i,j] = (i, j, data)。为什么?

+0

在你的情况,'pixels'是不是一个数组,它是一个图像。你不能像数组一样对待它。 – Gerrat 2014-09-23 18:33:50

回答

0

如果你的文本文件的格式如下:

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() 
相关问题