#!/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()