#!/usr/bin/python # -*- coding: utf-8 -*- """Generate image masks for opacity holograms.""" from __future__ import division import sys import os import Image # python-imaging aka PIL def main(argv): import cgitb cgitb.enable(format='text') xw, yw = map(int, argv[2:]) output_image = Image.new('RGBA', Image.open(argv[1]).size) output_filename = 'interleave-mask-%dx%d.png' % output_image.size if os.path.exists(output_filename): sys.stderr.write("%s already exists; delete it if wrong" % output_filename) sys.exit(1) # PIL’s α=0 is transparent. Contrary to PIL’s documentation, the # image is initially filled not with black, but with transparent # (transparent black, okay, but transparent.) output_image.paste((0, 0, 0, 255), (0, 0) + output_image.size) transparent = (255, 0, 0, 0) # transparent red for ii in range((output_image.size[1]-1) // yw): for jj in range((output_image.size[0]-1) // xw): output_image.putpixel((jj*xw, ii*yw), transparent) output_image.save(output_filename) if __name__ == '__main__': main(sys.argv)