在某一点之后切割图像

时间:2015-04-01 17:33:16

标签: python image sprite transparency pillow

我有一个不寻常的问题。我使用Pillow和Python 3,我需要阻止它的一部分透明和分层。

  1. 正如您在图像1中看到的那样,头发在其左侧和右侧略微夹住了帽子。

    1. 图像2是我自己编辑的,是正确的。左侧或右侧没有剪裁。

      所有3个精灵(头部,帽子和头发)都是透明的,大小相同。

      麻烦的是我可以让它在某个时刻切断,但不是所有的帽子精灵都在同一个地方开始和结束。例如,有些人可能会做弧形,但最终会在弧线上没有头发。

      这是我使用的代码:

      from PIL import Image, ImageTk, ImageChops
      
      background = Image.open("headbase.png")
      foreground = Image.open("hair2.png")
      
      Image.alpha_composite(background, foreground).save("test3.png")
      
      background2 = Image.open("test3.png")
      foreground2 = Image.open("testhat2.png")
      
      Image.alpha_composite(background2, foreground2).save("testo.png")
      

1 个答案:

答案 0 :(得分:0)

这是一个非常简单的问题。 我需要做的就是制作一个透明面膜(使我不想要染发的颜色区域)用于我不想被头发覆盖的区域。

然后,我需要这样做:

    Image.composite(hat, faceandhair, mask).save("RESULT.png")

然后我可以做任何我想要的着色代码。