2016-01-21 3 views
0

Я столкнулся с этой ошибкой в ​​конце моего скрипта. Ошибка на второй последней строке этого кода.Объект 'JpegImageFile' не может быть вызван

for key, i in xylist.iteritems(): 
    foreground = Image.open(a+str(key)[13:-1]+".jpg") 
    background = Image.open("newschedule.jpg") 
    x= xylist.get(key)[0] 
    y= xylist.get(key)[1] 
    background.paste(foreground(x,y), foreground) 
background.save("newschedule.jpg")  #must use variable 

Ошибка я получаю:

Traceback (most recent call last): 
    File "C:\Usersschedule\Scripts\Code\Dictionary + Loop 21.py", line 169, in <module> 
    background.paste(foreground(x,y), foreground) 
TypeError: 'JpegImageFile' object is not callable 
>>> 

Может кто-то пожалуйста, дайте мне знать, как решить эту ошибку? Я прочитал некоторые документы, но не смог ничего найти на этом.

+0

'foreground' не функция - вы не можете назвать' переднего плана (х, у) ' – furas

ответ

0

См: http://effbot.org/imagingbook/image.htm#tag-Image.Image.paste

Таким образом, вы, вероятно, нужно

background.paste(foreground, (x,y)) 

-

КСТАТИ: в каждом цикле вы загружаете фон, но не сохранить его. Возможно, вы должны загружать фон только один раз - до for цикл.

Может быть, вам нужно:

background = Image.open("newschedule.jpg") 

for key, (x, y) in xylist.iteritems(): 
    filename = "%s%s.jpg" % (a, str(key)[13:-1]) 
    foreground = Image.open(filename) 
    background.paste(foreground, (x,y)) 

background.save("newschedule.jpg") 
Смежные вопросы