我正在使用 PIL(Python 成像库)。我想绘制透明多边形。似乎指定包含 alpha 级别的填充颜色不起作用。他们的解决方法是什么?
如果不能使用 PIL 完成,我愿意使用其他东西。
如果有多个解决方案,则应考虑性能。绘图需要尽可能快。
请您参考如下方法:
这是针对 Pillow 的,它是 PIL 的一个更维护的分支。 http://pillow.readthedocs.org/
如果要绘制相对于彼此透明的多边形,则基本 Image 必须是 RGB 类型,而不是 RGBA,并且 ImageDraw 必须是 RGBA 类型。例子:
from PIL import Image, ImageDraw
img = Image.new('RGB', (100, 100))
drw = ImageDraw.Draw(img, 'RGBA')
drw.polygon([(50, 0), (100, 100), (0, 100)], (255, 0, 0, 125))
drw.polygon([(50,100), (100, 0), (0, 0)], (0, 255, 0, 125))
del drw
img.save('out.png', 'PNG')
这将绘制两个重叠的三角形,它们的两种颜色混合。这比必须为每个多边形合成多个“层”要快得多。