Revision: 48822
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at July 11, 2011 05:47 by miohtama
Initial Code
def process_floor_image(infile, outfile, copy_pics): """ Copy the orignal image and make also 1024 x 1024 sliced tiles out of it. Because our green robot friend sucks. http://stackoverflow.com/questions/6632140/android-pixel-quality-reduction-in-images-loaded-in-webview @return Image size in [width, height] """ im = Image.open(infile) w = im.size[0] h = im.size[1] dimensions = [ w, h ] if copy_pics: # Copy master path = os.path.dirname(outfile) base = os.path.basename(outfile) try: os.makedirs(path) except OSError: pass print "Copying image:" + outfile shutil.copyfile(infile, outfile) # slice the image to 1000 x 1000 tiles slice_size = 1000 for y in range(0, h, slice_size): for x in range(0, w, slice_size): fname = os.path.join(path, "tile-%d-%d-%s" % (x, y, base)) print "Creating tile:" + fname mx = min(x+slice_size, w) my = min(y+slice_size, h) buffer = Image.new("RGB", [slice_size, slice_size], (255, 255, 255)) tile = im.crop((x, y, mx, my)) buffer.paste(tile, (0, 0)) buffer.save(fname, "PNG") return dimensions
Initial URL
Initial Description
Create smaller tiles out of a larger bitmap image
Initial Title
Slicing images with Python and PIL
Initial Tags
image
Initial Language
Python