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

yon*_*ron 5 png text imagemagick

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

\n\n

我\xe2\x80\x99d 喜欢我的脚本允许调整前景的不透明度,但我也可以在图像导入 Matlab 后这样做。

\n\n

我想这可以通过 ImageMagick 实现,并且已将其安装在我的 Mac 上。如果有人能给我一行 I\xe2\x80\x99d 需要在 Perl 或 Python 中将一个单词转换为 PNG(该单词也可以是文件名),我可能可以弄清楚其余的脚本。

\n

Ful*_*ack 7

我发现适用于你的问题:

convert -size 560x85 xc:transparent -font Palatino-Bold -pointsize 72 -fill black -draw "text 20,55 'Linux and Life'" linuxandlife.png
Run Code Online (Sandbox Code Playgroud)

输出:

在此输入图像描述

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


Hoo*_*ked 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))
Run Code Online (Sandbox Code Playgroud)

这会在我的系统上创建三个文件dog.pngcat.png并且mouse.png全部以透明背景裁剪。

  • 如果这个答案是您正在寻找的,请标记它或让我们知道您还需要什么! (2认同)