How do you merge images into a canvas using PIL/Pillow?

后端 未结 2 1440
天命终不由人
天命终不由人 2020-11-28 21:45

I\'m not familiar with PIL, but I know it\'s very easy to put a bunch of images into a grid in ImageMagick.

How do I, for example, put 16 images into a 4×4 gri

2条回答
  •  不知归路
    2020-11-28 22:43

    This is easy to do in PIL too. Create an empty image and just paste in the images you want at whatever positions you need using paste. Here's a quick example:

    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

提交回复
热议问题