Python 图像库的透明度

发布于 2024-12-07 00:11:43 字数 428 浏览 1 评论 0原文

我正在尝试使用 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)

我尝试了几种不同的方法,但没有任何效果。任何帮助表示赞赏。

I'm trying to place a PNG watermark with partial transparency on top of a Facebook profile pic (jpg) using the Python Image Library. The part that should be transparent simply comes off as white. Here's my code:

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)

I've tried a few different ways, but haven't gotten anything to work. Any help is appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

再浓的妆也掩不了殇 2024-12-14 00:11:43

paste 的第三个选项是遮罩(请参阅文档)。它接受 RGBA 图像,因此最简单的解决方案是再次使用叠加图像:im.paste(overlay, (0, 0), overlay)

The 3rd option to paste is a mask (see the docs). It accepts an RGBA image, so the simplest solution is to use your overlay image again: im.paste(overlay, (0, 0), overlay).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文