如何用PIL从一张图片裁剪并粘贴到另一张?
我正在用PIL这个库,想从一张图片里复制一个矩形区域,然后把它粘贴到另一张图片上。这是我的代码:
import Image
ii = Image.open("ramza.png")
box = (70, 70, 30, 30)
region = ii.crop(box)
io = Image.open("template.png")
io.paste(region, box)
io.save("output.png")
但是我遇到了这个错误:
ValueError: 图片不匹配
你们有没有什么办法可以解决这个问题?
2 个回答
4
给未来的访问者:这个错误可能会出现,如果传给 paste
的 box
参数是小数(float)而不是整数(int)。
16
PIL的裁剪框是用四个像素坐标来定义的,格式是一个四元组:(左边, 上边, 右边, 下边)
。
要修正你的代码以获得一个30x30的裁剪区域:
box = (70, 70, 100, 100)
把它分解成几个部分:
x, y, w, h = (70, 70, 30, 30)
box = (x, y, x + w, y + h)