Comment fusionner des images dans une toile en utilisant PIL/Pillow?

Je ne suis pas familier avec PIL, mais je sais qu'il est très facile de mettre un tas d'images dans une grille dans ImageMagick.

Comment puis-je, par exemple, mettre 16 images dans une grille de 4×4 où je peux spécifier l'espace entre les lignes et les colonnes?

37
demandé sur Amir 2012-05-18 09:45:59

1 réponses

C'est facile à faire dans PIL trop. Créez une image vide et collez simplement les images que vous voulez à toutes les positions dont vous avez besoin en utilisant coller. Voici un exemple rapide:

import Image

#opens an image:
im = Image.open("1_tree.jpg")
#creates a new empty image, RGB mode, and size 400 by 400.
new_im = Image.new('RGB', (400,400))

#Here I resize my opened image, so it is no bigger than 100,100
im.thumbnail((100,100))
#Iterate through a 4 by 4 grid with 100 spacing, to place my image
for i in xrange(0,500,100):
    for j in xrange(0,500,100):
        #I change brightness of the images, just to emphasise they are unique copies.
        im=Image.eval(im,lambda x: x+(i+j)/30)
        #paste the image at location i,j:
        new_im.paste(im, (i,j))

new_im.show()

enter image description here

70
répondu fraxel 2016-07-16 21:15:16