Программа для динамического создания сетки изображений из папки с изображениями в ней - PullRequest
0 голосов
/ 15 февраля 2020

У меня есть папка с набором изображений в ней. Я хочу создать любой тип программы, который может взять путь к папке, количество строк и столбцов и дать мне вывод с сеткой изображений. Я не уверен, как это сделать.

1 Ответ

0 голосов
/ 15 февраля 2020

Пример примитива.

Используется sys.argv для получения аргументов pattern вместо path (например, "path/*.jpg"), строк, столбцов

python script 'images/dot-*.png' 2 3

Используется модуль PIL / pillow для чтения изображений, изменения их размера и вставки в выходное изображение.


import sys
import glob
from PIL import Image

# for test only
#sys.argv += ['images/dot-*.png', 2, 3]

# get arguments
pattern = sys.argv[1]
rows = int(sys.argv[2])
cols = int(sys.argv[3])

# get filenames
filenames = glob.glob(pattern)

# load images and resize to (100, 100)
images = [Image.open(name).resize((100, 100)) for name in filenames]

# create empty image to put thumbnails
new_image = Image.new('RGB', (cols*100, rows*100))

# put thumbnails
i = 0
for y in range(rows):
    if i >= len(images):
        break
    y *= 100
    for x in range(cols):
        x *= 100
        img = images[i]
        new_image.paste(img, (x, y, x+100, y+100))
        print('paste:', x, y)
        i += 1

# save it
new_image.save('output.jpg')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...