Автоматизировать преобразование текста в PNG (или другой формат файла с прозрачностью)? - PullRequest
2 голосов
/ 22 января 2010

Мне нужно взять список слов и создать файл PNG для каждого с прозрачным фоном.

Мне бы хотелось, чтобы в моем сценарии была предусмотрена регулируемая непрозрачность переднего плана, но, вероятно, я могу сделать это и после того, как изображения будут импортированы в Matlab.

Я предполагаю, что это выполнимо с ImageMagick и установил это на моем Mac. Если кто-то может дать мне одну строку, которая мне нужна, чтобы превратить слово в PNG (слово может быть и именем файла) в Perl или Python, я, вероятно, смогу выяснить остальную часть сценария.

Ответы [ 2 ]

1 голос
/ 19 июля 2015

Я нашел это для вашего вопроса:

convert -size 560x85 xc:transparent -font Palatino-Bold -pointsize 72 -fill black -draw "text 20,55 'Linux and Life'" linuxandlife.png
  • размер 560х85: размер (ширина х высота) изображения
  • xc: transparent: xc означает цвет окна X, используйте «прозрачный» для получения прозрачного фона
  • fond Palatino-Bold: шрифт текста (наберите «identifier-list font» в терминале, чтобы узнать все поддерживаемые шрифты)
  • pointsize 72: размер текста
  • заливка черным: цвет текста (проверьте эту ссылку, чтобы узнать названия поддерживаемых цветов)
  • нарисуйте «текст 20,55« Linux и жизнь »»: положение текста и самого текста
  • linuxandlife.png: выходное изображение
0 голосов
/ 22 января 2010

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.png и mouse.png, все обрезанные с прозрачным фоном.

...