#!/usr/bin/env python
import ImageChops
from PIL import Image

chunksize = 50

def main():
	img = Image.open("base.jpg")
	img = img.convert('RGBA')
	width_steps = img.size[0] // chunksize
	height_steps = img.size[1] // chunksize
	cx, cy = img.size[0] // 2, img.size[1] // 2
	# background img
	base_image = ImageChops.duplicate(img)
	# load pixel dat
	pixels = img.load()
	for xstep in range(width_steps):
		for ystep in range(height_steps):
			x, y = xstep*chunksize, ystep*chunksize
			# pixel info
			px = pixels[x, y]
			# cut out a chunk
			chunk = img.crop((x, y, x+chunksize, y+chunksize))
			chunk.load()
			base_image.paste(chunk.rotate(px[2], expand=1), (x + px[0], y + px[1]))

	base_image.save("out.png")

if __name__ == '__main__':
	main()