自动将文本转换为PNG(或其他具有透明度的文件格式)?

时间:2010-01-22 04:54:58

标签: text png imagemagick

我需要获取单词列表并创建每个单词的PNG文件,并具有透明背景。

我希望我的脚本允许前景的可调节不透明度,但我可能也会在将图像导入Matlab之后执行此操作。

我想这对ImageMagick来说是可行的,并且已经在我的Mac上安装了它。如果有人可以给我一行,我需要在Perl或Python中将一个单词转换为PNG(这个单词也可以是文件名),我可以想出其余的脚本。

2 个答案:

答案 0 :(得分:1)

我发现this适用于您的问题:

convert -size 560x85 xc:transparent -font Palatino-Bold -pointsize 72 -fill black -draw "text 20,55 'Linux and Life'" linuxandlife.png
  • 尺寸560x85:图像的尺寸(宽x高)
  • xc:transparent:xc表示X窗口颜色,使用“透明”来获得透明背景
  • 喜欢Palatino-Bold:文本的字体(在终端中键入“识别 - 列表字体”以了解所有支持的字体)
  • pointsize 72:文字大小
  • 填充黑色:文本的颜色(选中此链接以了解支持的颜色的名称)
  • 绘制“文本20,55'Linux and Life'”:文本和文本本身的位置
  • linuxandlife.png:输出图片

答案 1 :(得分:0)

Matplotlib(更好地称为pylab)对此非常有用。假设安装了ImageMagick,这个脚本应该可以工作。 (在Ubuntu 9.10上测试)

import pylab as py, os

W = ['cat','dog','mouse']

for word in W:
    py.clf()
    ax = py.axes(alpha=1.0) 
    py.text(0,.5,word)
    py.axis('off')
    py.savefig("%s.png"%word)
    os.system('convert -trim %s.png %s.png' % (word,word))

这会在我的系统dog.png上创建三个文件,cat.pngmouse.png都会以透明背景进行裁剪。