调整图像大小 discord.py
Posted
技术标签:
【中文标题】调整图像大小 discord.py【英文标题】:Resizing image discord.py 【发布时间】:2021-02-06 01:59:50 【问题描述】:我似乎无法弄清楚如何使用 discord.py 调整图像和 gif 的大小
如果有人能告诉我如何使用 discord.py 精确调整图像和 gif 的大小,我们将不胜感激,因为它支持我的机器人的核心功能。
【问题讨论】:
discord.py 不是图像处理库?也许你的问题有别的意思?您可以使用pillow
进行图像处理
我正在尝试在我的 discord.py 机器人上使用枕头来调整图像大小和压缩图像
那么您能否重新表述您关于 Pillow 的问题,因为 discord.py 实际上并未被使用。另外,我们不是巫师,你能告诉我们你到目前为止所做的尝试吗?
【参考方案1】:
不,discord.py 中没有这样的库可以调整图像和 gif 的大小。 虽然你可以从枕头上得到帮助:
-
从 google 下载图片(需要的模板)
现在转到您的命令提示符并输入
pip install pillow
现在将其添加到您的代码中 -
from PIL, import Image
from io import BytesIO
-
现在这是我的代码,您可以根据需要设置它
@client.command()
async def wanted(ctx, user:discord.Member = None):
if user=None:
user=ctx.author
wanted=image.open(wanted.jpg)
asset= ctx.author.avatar_url_as(size=128)
data = BytesIO(await asset.read())
pfp = image.open(data)
现在让我们来谈谈调整大小的问题。你不能使用 discord.py 来做到这一点,但 Microsoft paint 会帮助你。使用 Microsoft Paint 打开您的图像(在我的情况下为wanted.jpg)。在模板的空白区域绘制一个正方形。它将是您的图像和 GIF 出现的地方。现在您将在油漆底部看到正方形的大小,请注意某处。在我的例子中,它是 400600px。现在将光标移动到正方形的左上角。您将看到图形读数。在我的例子中,它是 100200px。注意这个读数。
现在是时候将这个东西添加到您的代码中了。
pfp=pfp.resize(200,200) #you can resize it to any size you want
wanted.paste(pfp, (100, 200)) # this is my graphical reading
wanted.save(profile.jpg)
await ctx.send(file, discord.File('profile.jpg'))
就是这样。如果您仍然遇到任何问题,我给了您方向,请随时在下面发表评论,我会尽力回复; )
【讨论】:
嗯,您正在将调整大小的图像保存到本地磁盘。如果我想实时做呢?比如,打开图片,调整大小,把调整大小的img直接给File作为输入? 不能直接发送。当你从 discord 中获取图像时,它是一个协程。然后我们将它转换为字节,这样我们就可以弄乱图像了。对图像进行更改后,我们必须将其保存在某处,否则就没有可发送的内容。我们所做的每一件事都会存储在某个地方。甚至您在 python 中创建的变量也存储在内存中。您不能直接发送图像【参考方案2】:使用 Pillow 之类的模块(导入 PIL)
【讨论】:
这不是一个有用的答案,也是现有答案的后期副本,请注意。以上是关于调整图像大小 discord.py的主要内容,如果未能解决你的问题,请参考以下文章