Python: Użycie pillow do stworzenia obrazku z miniaturkami w wierszach i kolumnach
Prosty skrypt, który bierze jako argument wzorzec typu path/*.jpg
, ilośc wierszy, ilośc kolumn i tworzy siatkę z obrazkami (miniaturkami 100x100 pikseli)
Skrypt używa wzorca (zamiast nazwy katalogu) z funkcją glob.glob()
aby pobrać nazwy plików, a następnie używa pillow
aby wczytać obrazki,
zmiejszyć je i wstawi na wynikowy obrazek jak miniturki w wierszach i kolumnach.
import sys
import glob
from PIL import Image
# for test only
#sys.argv += ['images/dot-*.jpg', 2, 3]
# get arguments
pattern = sys.argv[1]
rows = int(sys.argv[2])
cols = int(sys.argv[3])
# get filenames
filenames = glob.glob(pattern)
#print(filenames)
# load images and resize them
images = [Image.open(name).resize((100, 100)) for name in filenames]
# output image for grid with thumbnails
new_image = Image.new('RGB', (cols*100, rows*100))
# paste thumbnails on output
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 output
new_image.save('output.jpg')
If you like it
Buy a Coffee
Buy a Coffee