You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

32 lines
943 B

#!/usr/bin/env python2
# tool to convert texts to images. needs an SVG as a template. See line 16
# (c) roel roscam abbing 2018
# gplv3
import os,base64,sys
count = 1
svg = open(sys.argv[1]).read()
text = open(sys.argv[2]).read()
if not os.path.exists('output'):
os.mkdir('output')
for sentence in text.split('\n'):
files = []
for word in sentence.split(' '):
fn = 'output/{}.svg'.format(base64.urlsafe_b64encode(word))
with open(fn, 'w') as f:
f.write(svg.replace('$what$', word))
files.append(fn)
if sentence:
try:
of = 'output/{}.gif'.format(str(count).zfill(3))
command = "convert -delay 1 -alpha set -dispose previous {} {}".format(" ".join(files),of)
print(command)
os.system(command)
count+=1
except:
print('skipped', sentence)
pass
os.system('rm {}'.format(' '.join(files)))