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

发布于 2024-08-18 13:48:03 字数 212 浏览 7 评论 0原文

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

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

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

I need to take a list of words and create a PNG file of each, with a transparent background.

I’d like my script to allow for adjustable opacity of the foreground, but I can probably also do it after the fact when the images get imported into Matlab.

I imagine this is doable with ImageMagick and have installed that on my Mac. If someone can give me the one line I’d need to turn a word into a PNG (the word can be the filename too) in Perl or Python, I can probably figure out the rest of the scripting.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

韬韬不绝 2024-08-25 13:48:03

我发现这个是适用于您的问题:

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

输出:

在此处输入图像描述

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

I found this to be applicable to your question:

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

Output:

enter image description here

  • size 560x85 : the size (width x height) of the image
  • xc:transparent : xc means X window color, use "transparent" to get a transparent background
  • fond Palatino-Bold : the font of the text ( type "identify -list font" in the terminal to know all the supported fonts)
  • pointsize 72 : the size of the text
  • fill black : the color of the text ( check this link to know the names of the supported colors)
  • draw "text 20,55 'Linux and Life'" : the position of the text and the text itself
  • linuxandlife.png : the output image
神仙妹妹 2024-08-25 13:48:03

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.pngcat.pngmouse.png,所有文件都用透明裁剪背景。

Matplotlib (better known as pylab) would work great for this. Assuming ImageMagick is installed this script should work. (tested on 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))

This creates three files on my system dog.png, cat.png and mouse.png all cropped with a transparent background.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文