我想知道它是否可能与python pil一起剪切文本并使图片透明。这是一个更好地解释它的例子。 Picture 1.png是一个圆圈。
图片2.png是text.png,只是说谢谢。我想做的是将picture2放入picture1并将其剪切掉,使其变得透明。所以看起来应该像这个picture3.png
这是我迄今为止所拥有的,但它只是粘贴图像。我是PIl的新手。我不知道如何告诉python我希望这样切出来。
img = Image.open('picture1.png').convert("RGBA")
bg_w, bg_h = img.size
layer = Image.open('picture2.png').convert("RGBA") # this file is the transparent one
img_w, img_h = layer.size
offset = ((bg_w - img_w)/2, (bg_h - img_h) / 3)
img.paste(layer, offset, mask=layer)
img.save('Picture3.png')
答案 0 :(得分:2)
我明白了。这是答案:
from PIL import Image, ImageDraw
img = Image.open('circle.png').convert("RGBA")
layer = Image.open('Thanks.png').convert("RGBA") # this file is the transparent one
img.paste(layer, mask=layer)
img.save('Picture3White.png')
img = Image.open('Picture3White.png')
img = img.convert("RGBA")
datas = img.getdata()
newData = []
for item in datas:
if item[0] == 255 and item[1] == 255 and item[2] == 255:
newData.append((255, 255, 255, 0))
else:
newData.append(item)
img.putdata(newData)
img.save("Transparent.png", "PNG")