我即将将2.jpg的一小部分粘贴到1.jpg
from PIL import Image
body = Image.open("1.jpg")
head = Image.open("2.jpg")
headbox = (0,0,30,30)
head.crop(headbox).save("head.jpg")
body.paste("head.jpg", (0,0)).save("out.jpg")
然后抛出错误
****************************************, line 8, in <module>
body.paste("head.jpg", (0,0)).save("out.jpg")
File "C:\Users\liton\Anaconda3\lib\site-packages\PIL\Image.py", line 1401, in paste
"cannot determine region size; use 4-item box"
ValueError: cannot determine region size; use 4-item box
我使用pycharm和pthon 3.7,但没有看到任何语法错误。那么代码有什么问题
答案 0 :(得分:0)
您应该将图像对象传递给'body.paste',但是,您只是传递一个字符串(图像名称)。因此,首先需要使用“ Image.open”打开图像,然后将其传递给“ body.paste”。同样,“ body.paste”不返回任何值,因此您不能直接使用“ save”方法。以下代码将解决您的问题:
from PIL import Image
body = Image.open("1.jpg")
head = Image.open("2.jpg")
headbox = (0,0,30,30)
head.crop(headbox).save("head.jpg")
head_crop = Image.open("./head.jpg")
body.paste(head_crop, (0,0))
body.save("out.jpg")