半透明图像枕头
Half transparent image Pillow
如何使图像像 dank memer 命令一样半透明。我一直在使用 putalpha,因为我在寻找解决方案时在 Internet 上找到了它,但它没有用。我正在使用枕头。
代码:
class Image_Manipulation(commands.Cog, name="Image Manipulation"):
def __init__(self, bot:commands.Bot):
self.bot = bot
@commands.command(aliases=["Clown","CLOWN"])
async def clown(self, ctx, user: nextcord.Member = None):
if user == None:
user = ctx.author
clown = Image.open(os.path.join("Modules", "Images", "clown.jpg"))
useravatar = user.display_avatar.with_size(128)
avatar_data = BytesIO(await useravatar.read())
pfp = Image.open(avatar_data)
pfp = pfp.resize((192,192))
pfp.putalpha(300)
if pfp.mode != "RGBA":
pfp = pfp.convert("RGBA")
clown.paste(pfp, (0,0))
clown.save("clown_done.png")
await ctx.send(file = nextcord.File("clown_done.png"))
def setup(bot: commands.Bot):
bot.add_cog(Image_Manipulation(bot))
dank memer 命令示例:
https://imgur.com/a/ZDNyKsG
您想要达到的效果称为两张图片的平均值。 PIL.Image.blend
允许获得两个图像的 加权平均值 。用法示例:
from PIL import Image
im1 = Image.open('path/to/image1')
im2 = Image.open('path/to/image2')
im3 = Image.blend(im1, im2, 0.5)
im3.save('path/to/outputimage')
其中 im1
和 im2
是相同大小(宽 x 高)的图像,如果您希望一张图像有更多,您可以选择为 Image.blend
使用不同的第三个参数对结果图像的影响(0.0
导致 im1
的副本,1.0
导致 im2
的副本)
如何使图像像 dank memer 命令一样半透明。我一直在使用 putalpha,因为我在寻找解决方案时在 Internet 上找到了它,但它没有用。我正在使用枕头。
代码:
class Image_Manipulation(commands.Cog, name="Image Manipulation"):
def __init__(self, bot:commands.Bot):
self.bot = bot
@commands.command(aliases=["Clown","CLOWN"])
async def clown(self, ctx, user: nextcord.Member = None):
if user == None:
user = ctx.author
clown = Image.open(os.path.join("Modules", "Images", "clown.jpg"))
useravatar = user.display_avatar.with_size(128)
avatar_data = BytesIO(await useravatar.read())
pfp = Image.open(avatar_data)
pfp = pfp.resize((192,192))
pfp.putalpha(300)
if pfp.mode != "RGBA":
pfp = pfp.convert("RGBA")
clown.paste(pfp, (0,0))
clown.save("clown_done.png")
await ctx.send(file = nextcord.File("clown_done.png"))
def setup(bot: commands.Bot):
bot.add_cog(Image_Manipulation(bot))
dank memer 命令示例: https://imgur.com/a/ZDNyKsG
您想要达到的效果称为两张图片的平均值。 PIL.Image.blend
允许获得两个图像的 加权平均值 。用法示例:
from PIL import Image
im1 = Image.open('path/to/image1')
im2 = Image.open('path/to/image2')
im3 = Image.blend(im1, im2, 0.5)
im3.save('path/to/outputimage')
其中 im1
和 im2
是相同大小(宽 x 高)的图像,如果您希望一张图像有更多,您可以选择为 Image.blend
使用不同的第三个参数对结果图像的影响(0.0
导致 im1
的副本,1.0
导致 im2
的副本)