【发布时间】:2020-08-04 04:55:51
【问题描述】:
我正在尝试实现类似于下图的效果,带有半透明黑框,上面写着:Desired
忽略它们是不同图像的事实,但我想实现与上图类似的半透明矩形效果。我目前拥有的代码是:
from PIL import Image, ImageDraw
img = Image.new('RGBA', (512, 512), (255, 0, 0, 0))
draw = ImageDraw.Draw(img, 'RGBA')
shape = [(0, 512), (512, 308)]
draw.rectangle(shape, fill = 'black')
img.save('foo.png')
img2 = Image.open('final2.png')
Image.alpha_composite(img2, img).save('foo3.png')
这会产生以下输出:
Output(忽略白色边框 - 这只是一个粗略的截图)
我尝试过 putalpha,但它只会使黑色矩形变为灰色并且仍然不透明。另外,我尝试创建一个与我想要在 (512x512) 上绘制框的图像大小相同的透明图像,然后在该透明图像的底部绘制一个矩形,然后使用混合,但是图像的颜色搞砸了因为白色图像混合在顶部。
感谢任何帮助。
编辑:仍然需要帮助!
【问题讨论】:
-
我在 the documentation 中看不到它,但显然您可以为填充 as a tuple 提供准确的 RGBA 值。
-
做同样的事情。
-
完全一样的东西,用灰色框代替黑色**
标签: python python-3.x python-imaging-library