我必須使用pillow在python中創(chuàng)建一個(gè)調(diào)整大小算法。有些變量是法語(yǔ)的。在這里,我在一段時(shí)間的末尾添加到 i (因此 i 始終是一個(gè) int ),并且 x 始終是一個(gè) int ,因?yàn)樗隽朔秶[x] 是一個(gè)元組。from PIL import Imagephoto=Image.open("meh.jpg")from random import randinttaille=photo.sizelargeur=int(taille[0]*facteur)hauteur=int(taille[1]*facteur)diffhauteur=hauteur-taille[1]difflargeur=largeur-taille[0]newImage= Image.new('RGB', (largeur,hauteur))if diffhauteur>1: i=0 while i !=taille[0]: a=[] for b in range(taille[1]): liste.append(photo.getpixel((i,b))) #get all the data of the pixels in the row for b in range(diffhauteur): #add some pixel (gradient) to get the lenght of the new img index=randint(0,len(a)-2) pixel2=a[index+1] pixel1=a[index] ab= degrade(pixel1,pixel2) #create a gradient of two pixels as a tuple a.insert(index,ab) for x in range (hauteur):#add the row to the new img newImage.putpixel((i,x),a[x]) i=i+1newImage.show()但是,我收到此錯(cuò)誤:#here are the valuesa[x]=(0.0, 0.0, -1.0)i=0x=6line 71, in resizing newImage.putpixel((i,x),a[x]) TypeError: integer argument expected, got float對(duì)于特定值,不會(huì)發(fā)生這種情況。完全是隨機(jī)的有人有答案嗎?因?yàn)檫@看起來(lái)很棘手或者太簡(jiǎn)單了,我明天要問(wèn)我的老師,但我不知道我是否能夠解決這個(gè)問(wèn)題。感謝您
1 回答

紫衣仙女
TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊
a[x]
不是ints
函數(shù)所要求的 的元組,而是 的元組floats
。因此,您必須將此元組轉(zhuǎn)換為整數(shù)。
您可以將元組映射到整數(shù):
for?x?in?range?(hauteur): ????a2?=?tuple(map(int,?a[x])) ????newImage.putpixel((i,x),a2)
添加回答
舉報(bào)
0/150
提交
取消