Курс 3.5 · Раздел 12 · Урок 12.3

Разрезка карты

Разделим карту на прямоугольные фрагменты с помощью библиотеки PIL.Image.

Разделим карту на прямоугольные фрагменты с помощью библиотеки PIL.Image.
12.3 — Разрезка карты

Материал урока

Итак, у нас есть изображение в файле map.gif. Давайте разрежем его на 12 частей: четыре части по горизонтали и три части по вертикали. В итоговой версии приложения количество частей можно будет изменять.

Для этого мы будем использовать методы crop и paste библиотеки PIL.Image. Вот как можно вырезать четыре кусочка карты в верхней строке:

from PIL import Image

im = Image.open('map.gif')

x, y = im.size

n, m = 4, 3  # количество частей карты

for i in range(n):

    j = 0

    im_new = Image.new('RGB', (x // n, y // m))

    im_new.paste(im.crop((i * x // n, j * y // m, (i + 1) * x // n,

                          (j + 1) * y // m)))

    im_new.save(f"image-{i * m + j}.gif")