gpt4 book ai didi

python - PIL - 添加半透明多边形到 JPEG

转载 作者:太空宇宙 更新时间:2023-11-03 14:23:54 27 4
gpt4 key购买 nike

我正在尝试使用这个 this approach向图像添加半透明多边形。问题是图像是 JPEG。我知道 JPEG 没有 alpha channel ,所以我希望有一种方法可以让 PIL 接收 JPEG,将其转换为具有 alpha channel 的形式,添加半透明蒙版,然后合并用图像蒙版并将其转换回 JPEG 以进行保存。 PIL能做到吗?如果没有,我还能怎么做呢?谢谢!

最佳答案

这很简单。只需将 jpeg 粘贴到新的 rgba Image():

#!/usr/bin/env python3

from PIL import Image
from PIL import ImageDraw

im = Image.open("existing.jpg")
logo = Image.open("python-32.png")

back = Image.new('RGBA', im.size)
back.paste(im)
poly = Image.new('RGBA', (512,512))
pdraw = ImageDraw.Draw(poly)
pdraw.polygon([(128,128),(384,384),(128,384),(384,128)],
fill=(255,255,255,127),outline=(255,255,255,255))

back.paste(poly, (0,0), mask=poly)
back.paste(logo, (im.size[0]-logo.size[0], im.size[1]-logo.size[1]), mask=logo)

back.show()

这会额外向图像添加一个 png(具有透明度)。

关于python - PIL - 添加半透明多边形到 JPEG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23313733/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com