[英]Create text mask using Python+PIL or Imagemagick
我需要以编程方式在纯色上创建文本蒙版,并使文本透明。
例如。
可以使用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)
这在PIL中相对简单。
这是一个很好的PIL参考 。
有很多方法可以做到-这是一种:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.