我需要以编程方式在纯色上创建文本蒙版,文本是透明的。
例如
可以使用Imagemagick或Python成像库吗?
这适用于我想要的反转,因此透明背景上的纯文本。
convert -size 720x405 xc:transparent -fill pink -gravity center -pointsize 150 -font font.ttf -draw "text 0,0 CUT" output.png
如果可能,我更愿意使用PIL / Pillow。
更新:
这就是我到目前为止......
font = ImageFont.truetype('font.ttf', 200, encoding='unic')
bg = Image.new('RGBA', (720, 404), '#0099ff')
mask = Image.new('1', (720, 404))
draw = ImageDraw.Draw(mask)
draw.text((0, 0), '#HELLO', font=font, fill='#ffffff')
bg.paste('#00000000', (0, 0), text)
bg.save('text.png', 'PNG')
然而,这会引发错误:
ValueError: unknown color specifier: '#00000000'
如果我设置为有效颜色,它按预期工作,所以我知道我很接近,只是不能引用透明度。
更新:
最后,我刚刚创建了另一张空白图像,并使用它而不是定义颜色。所以:
trans = Image.new('RGBA', (720, 404))
bg.paste(trans, (0, 0), mask)
答案 0 :(得分:3)
这在PIL中比较简单。
这是一个非常好的PIL reference。
有很多方法可以做到 - 这是一个: