“新样式getargs格式,但参数不是元组”

2024-05-16 00:26:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用枕头库为我的朋友创建一个随机的《权力的游戏》角色宾果游戏表,并创建了一个PNG背景表来粘贴我在上面找到的图像的缩略图。然而,当我去粘贴我的图片随机游戏的权力人物(让我们说雅利雅)到我的背景图像和定义区域用于粘贴,我得到错误“新的风格getargs格式,但参数不是一个元组”和代码失败。你知道吗

我使用的是Python3.6.6,我也尝试了3.6.5,使用Pip和Conda在每个版本上重新安装了Pillow(现在有Pillow 5.1.0和Pillow 6.0.0),我尝试了直接编写粘贴坐标,而不是使用变量,改变我粘贴到的图像类型,直接从PNG粘贴到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的照片应该占据背景图像的左上角,但每次都会返回错误。我不明白这个错误是从哪里来的。你知道吗


Tags: 图像imagebox游戏区域定义png粘贴
1条回答
网友
1楼 · 发布于 2024-05-16 00:26:13

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

这个None值以您描述的方式破坏了后面的代码。您可以通过调用thumbnail而不将其返回值赋给任何对象来避免它:

arya = Image.open("arya_edit.jpg")
arya.thumbnail(size)               # don't assign here, it modifies the image in place

相关问题 更多 >