Digamos que você tenha uma imagem muito longa como esta.
E agora você deseja dividi-lo em pedaços menores, porque é muito longo.
Aqui está um script Python que fará isso. Isso foi útil para mim na preparação de imagens muito longas para documentos LaTeX.
from __future__ import division
import Image
import math
import os
def long_slice(image_path, out_name, outdir, slice_size):
"""slice an image into parts slice_size tall"""
img = Image.open(image_path)
width, height = img.size
upper = 0
left = 0
slices = int(math.ceil(height/slice_size))
count = 1
for slice in range(slices):
#if we are at the end, set the lower bound to be the bottom of the image
if count == slices:
lower = height
else:
lower = int(count * slice_size)
bbox = (left, upper, width, lower)
working_slice = img.crop(bbox)
upper += slice_size
#save the slice
working_slice.save(os.path.join(outdir, "slice_" + out_name + "_" + str(count)+".png"))
count +=1
if __name__ == '__main__':
long_slice("longcat.jpg","longcat", os.getcwd(), 300)
Esta é a saída