' JpegImageFile'对象不可调用

时间:2016-01-21 13:33:23

标签: python python-imaging-library

我在脚本结束时遇到此错误。错误发生在此代码的倒数第二行。

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

有人可以让我知道如何解决这个错误吗?我已阅读了一些文档,但无法在此找到任何内容。

1 个答案:

答案 0 :(得分:0)

请参阅:http://effbot.org/imagingbook/image.htm#tag-Image.Image.paste

paste(image, box)

所以你可能需要

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

-

BTW:在每个循环中你加载背景但你不保存它。也许你应该只加载一次背景 - 在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")