J'essaie de combiner horizontalement certaines images JPEG en Python.
Problème
J'ai 3 images - chacune mesure 148 x 95 - voir ci-joint. Je viens de faire 3 copies de la même image - c'est pourquoi elles sont identiques.
Ma tentative
J'essaye de les joindre horizontalement en utilisant le code suivant:
import sys
from PIL import Image
list_im = ['Test1.jpg','Test2.jpg','Test3.jpg']
new_im = Image.new('RGB', (444,95)) #creates a new empty image, RGB mode, and size 444 by 95
for elem in list_im:
for i in xrange(0,444,95):
im=Image.open(elem)
new_im.paste(im, (i,0))
new_im.save('test.jpg')
Cependant, cela produit la sortie jointe en tant que test.jpg
.
Question
Existe-t-il un moyen de concaténer horizontalement ces images de telle sorte que les sous-images dans test.jpg n'aient pas une image partielle supplémentaire?
Information additionnelle
Je cherche un moyen de concaténer horizontalement n images. J'aimerais utiliser ce code de manière générale donc je préférerais:
- ne pas coder en dur les dimensions de l'image, si possible
- spécifier les dimensions sur une ligne afin qu'elles puissent être facilement modifiées
for i in xrange(...)
dans votre code? Vous ne devriez pas vouspaste
occuper des trois fichiers image que vous spécifiez?