Python图像库中的透明度

8 投票
1 回答
3371 浏览
提问于 2025-04-17 03:20

我正在尝试用Python图像库在Facebook头像(jpg格式)上放一个部分透明的PNG水印。但是,应该透明的部分却显示成了白色。以下是我的代码:

con = urllib2.urlopen('facebook_link_to_profile_pic')
im = Image.open(cStringIO.StringIO(con.read()))

overlayCon = urllib2.urlopen('link_to_overlay')
overlay = Image.open(cStringIO.StringIO(overlayCon.read()))

im.paste(overlay, (0, 0))

im.save('name', 'jpeg', quality=100)

我试过几种不同的方法,但都没有成功。希望能得到一些帮助。

1 个回答

8

第三种使用paste的方法是用一个遮罩(可以查看文档)。这个遮罩需要一个RGBA格式的图片,所以最简单的做法就是再次使用你的叠加图片:im.paste(overlay, (0, 0), overlay)

撰写回答