【发布时间】:2021-07-25 15:31:21
【问题描述】:
我在 Python 3 中使用 Pillow。我想将一个方形图像重塑为圆形,然后将其粘贴到另一个图像上。
我的问题是,重塑正确,图像是一个圆形,但是当它粘贴到另一个图像上时,它又变成了一个正方形:
这是我的代码:
@client.command()
async def test(ctx):
owms = Image.open("bg.jpg")
asset = ctx.author.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)
pfp.save("outpfp.png")
owms.paste(Image.fromarray(npImage), (101, 67))
owms.save("outlvl.jpg")
await ctx.send(file = discord.File("outpfp.png"))
await ctx.send(file = discord.File("outlvl.jpg"))
(我已经使输出既是圆形图像又是预期的原始输出。)
我寻求的解决方案是粘贴的图像是圆形而不是像上图那样的方形。
【问题讨论】:
标签: python-3.x image-processing python-imaging-library