这是我做的一个测试命令,用于测试欢迎卡,然后将其放入事件中。但是我在调整用户头像的大小时遇到了一个错误,这就是错误:该命令引发了一个异常:ValueError:Images not match
@commands.command()
async def proof(self, ctx, member: discord.Member):
img = Image.open("img/cardwelcome.png")
avatar_asset = member.avatar_url_as(size = 4096)
buffer_avatar = io.BytesIO(await avatar_asset.read())
avatar_image = Image.open(buffer_avatar)
avatar_image = avatar_image.resize((128, 200))
circle_image = Image.new('L', (128, 128))
circle_draw = ImageDraw.Draw(circle_image)
circle_draw.ellipse((0, 0, 128, 128), fill=255)
img.paste(avatar_image, (490, 140), circle_image)
img.save("cardwelcome2.png")
await ctx.send(file=discord.File(r'img/cardwelcome2.png'))
我也有我正在测试的其他代码,但是我不知道如何在这里添加resize
,如果有人知道如何在这里添加它或者如何在其他代码中修复它,我将非常感激:
@commands.command()
async def proof2(self, ctx, member: discord.Member):
welcome = Image.open('img/cardwelcome.png')
asset = member.avatar_url_as(size = 128)
data = BytesIO(await asset.read())
img=Image.open(data).convert("RGB")
npImage=np.array(img)
h,w=img.size
alpha = Image.new('L', img.size,0)
draw = ImageDraw.Draw(alpha)
draw.pieslice([0,0,h,w],0,360,fill=255)
npAlpha=np.array(alpha)
npImage=np.dstack((npImage,npAlpha))
pfp = Image.fromarray(npImage)
welcome.paste(pfp, (490, 140), alpha)
welcome.save("img/cardwelcome2.png")
await ctx.send(file=discord.File(r'img/cardwelcome2.png'))
图像的模式不同,大小也不同
所以这里的图像应该是相同的,因为当你把它粘贴到另一个图像中时,你掩盖了阿凡达的图像。如果它们的大小不一样,图像就无法正确遮罩
仅在circle_image的size值中放入avatar_image.size:
相关问题 更多 >
编程相关推荐