Skip to content

Instantly share code, notes, and snippets.

@vladimirgamalyan
Created July 21, 2015 09:28
Show Gist options
  • Save vladimirgamalyan/fe53a6cdb965a6482c5b to your computer and use it in GitHub Desktop.
Save vladimirgamalyan/fe53a6cdb965a6482c5b to your computer and use it in GitHub Desktop.
Slice image to hor/ver parts.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import os
from PIL import Image
def slice_pic(src_file, cols, rows):
base_dir = os.path.dirname(os.path.abspath(src_file))
base_name = os.path.splitext(os.path.basename(src_file))[0]
src_image = Image.open(src_file)
src_w = src_image.size[0]
src_h = src_image.size[1]
slice_w = src_w / cols
slice_h = src_h / rows
for col in range(cols):
for row in range(rows):
x = col * slice_w
y = row * slice_h
mx = min(x + slice_w, src_w)
my = min(y + slice_h, src_h)
tile = Image.new('RGBA', [slice_w, slice_h])
tile.paste(src_image.crop((x, y, mx, my)), (0, 0))
dst_file = os.path.join(base_dir, "%s-%d-%d.png" % (base_name, col, row))
tile.save(dst_file)
if __name__ == '__main__':
if len(sys.argv) == 4:
slice_pic(sys.argv[1], int(sys.argv[2]), int(sys.argv[3]))
else:
print "usage: script.py <path to src file> <hor parts> <ver parts>"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment