“新型getargs格式,但参数不是元组”枕头图像粘贴错误

时间:2019-04-23 23:16:55

标签: python python-3.x python-imaging-library

我正在使用枕头库为我的朋友们创建随机的权力游戏宾果游戏表,并创建了一个PNG背景表来粘贴我发现的图像的缩略图。但是,当我将我的随机《权力的游戏》角色的图片(假设为Arya)粘贴到我的背景图像上并定义用于粘贴的区域时,出现错误“新样式getargs格式,但参数不是元组”,并且代码失败。

我使用的是Python 3.6.6,我也尝试了3.6.5,同时使用Pip和Conda在每个版本上重新安装了Pillow(现在有Pillow 5.1.0和Pillow 6.0.0),我尝试编写粘贴直接坐标而不是使用变量,然后将要粘贴的图像类型更改为PNG并直接从JPEG粘贴到JPEG,以查看是否会更改其定义坐标的方式,而没有运气。

我也尝试过将变量重铸为元组,尽管它已经可以了,但仍然没有用。在文档中说如果您将该区域留空,则该区域应自动越过左上角到(0,0),但是当我这样做时,我收到一个错误提示我输入框坐标。它还说,如果您使用2的元组而不是4的坐标,它应该可以工作,但是返回了一个错误,告诉我使用4的元组。

bingo = Image.new("RGB",(740,740), color=(10,10,10))

size = 128,128
arya = Image.open("arya_edit.jpg")              #arya 1
arya = arya.thumbnail(size)

box = (10,10,138,138)
#tried box = tuple(box) 
bingo.paste(arya, box)

Arya的照片应该占据背景图片的左上角,但每次都会返回错误。我不知道此错误来自何处。

1 个答案:

答案 0 :(得分:0)

代码问题不在于paste行,而在于制作缩略图的方式。 Image.thumbnail method修改一个Image并返回None,因此,当您运行arya = arya.thumbnail(size)时,您将使用{{1}覆盖对新调整大小的图像的引用。 },这肯定不是您想要的。

None值以您描述的方式破坏了您以后的代码。您可以通过仅调用None而不将其返回值分配给任何东西来避免它:

thumbnail