首页 > 解决方案 > 为什么我的图像变成方形 PIL?

问题描述

因此,当我运行此代码时, output.png 变成了一个圆圈(应该会发生),但是当它被粘贴到背景时,由于某种原因它变成了一个正方形。我想知道为什么会这样。

输出.png

关卡.png

  
  mask = Image.open('mask.png').convert('L')

  output = ImageOps.fit(img, mask.size, centering=(0.5, 0.5))
  output.putalpha(mask)

  output.save('output.png')

  bg = Image.open("background.png")
  bg.paste(output, (390, 50))
  bg.save("level.png")

标签: pythonpython-imaging-library

解决方案


Image.paste不适用于output粘贴mask图像paste().paste ) 直接:

mask = Image.open('mask.png').convert('L')
output = ImageOps.fit(img, mask.size, centering=(0.5, 0.5))
bg = Image.open("background.png")
bg.paste(output, (390, 50), mask=mask)
bg.save("level.png")

也不需要将 alpha 放入output图像中。


推荐阅读