我有一个相当简单的代码文件:

from PIL import Image
til = Image.new("RGB",(50,50))
im = Image.open("tile.png") #25x25
til.paste(im)
til.paste(im,(23,0))
til.paste(im,(0,23))
til.paste(im,(23,23))
til.save("testtiles.png")

但是,当我尝试运行它时,会得到以下错误:
Traceback (most recent call last):
    til.paste(im)
  File "C:\Python27\lib\site-packages\PIL\Image.py", line 1340, in paste
    self.im.paste(im, box)
ValueError: images do not match

是什么导致了这个错误?它们都是RGB图像,文档对这个错误没有任何说明。

最佳答案

问题在于第一次粘贴——根据PIL文档(http://effbot.org/imagingbook/image.htm),如果没有传递“box”参数,则图像的大小必须匹配。
编辑:
我实际上误解了文件,你是对的,它不在那里。但从我在这里所做的尝试来看,似乎没有通过第二个论点,大小必须匹配。如果要保留第二个图像的大小并将其放在第一个图像的左上角,只需执行以下操作:

...
til.paste(im,(0,0))
...

关于python - 如何使用Pillow将图像粘贴到更大的图像上?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28407462/

10-12 17:43