# -*- coding: latin-1 -*- # Alex 31-1-'06: genera las secuencias png para los titulos # de crédito finales de Terroralia. # Busca un fichero llamado scroll.png y crea un directorio # que contendrá las imágenes generadas # y la secuencia png de todas (fichero .pngs). def addcoords(a, b): """Add two 2d coords, return a 2d coord""" return (a[0] + b[0], a[1] + b[1]) def blend(img, template, mask, position): """Blend an image into the given position""" for x in range(0,10): desp = addcoords(position, [0, x]) img.paste(template, desp, mask) import Image import ImageFont import ImageDraw import glob import os.path current = "/home/bulk/suse/terroralia/creditos12/scroll/" rate = 2 # create paste mask mask = Image.new("L", (720, 432), 50) # load each template infile = "scroll.png" dirname, ext = os.path.splitext(infile) template = Image.open(infile) # create new directory print dirname if not os.path.exists(dirname): os.makedirs(dirname) # create png sequence pngspath = dirname + ".pngs" pngs = open(pngspath, 'w') pngs.write("PNGLIST\n25.0000\n720\n432\n") # enter top h = 3000 for i in range(0, (h-432)/rate): # create each image img = Image.new("RGBA", (720, 432)) coords = [0, i*rate-432] piece = template.crop((0, i*rate, 720, 432 + i*rate)) img.paste(piece) # save it name = '%4.4d' % (i) destination = os.path.join(dirname, "img" + name + ".png") img.save(destination) pngs.write(current + destination + "\n") # close png sequence pngs.close()