Je veux coller un tas d'images avec PIL. Pour une raison quelconque, quand j'exécute la ligne J'ai essayé de jouer avec elle et d'utiliser un tuple avec 4 éléments comme celui-ci tel que celui-ci (ex. (128 128 128,128)), il me donne cette erreur: Chaque image est 128x et a un style de nommage de "x_y.png" où x et y sont de 0 à 39. Mon code est ci-dessous. P > Blank.Paste (IMG, (I * 128, J * 128)) Code> I Obtenir l'erreur suivante:
ValueError: impossible de déterminer la taille de la région; Utilisez 4-item Box Code>
SystemError: nouveau style getargs Format Mais l'argument n'est pas un tuple code> p>
from PIL import Image
loc = 'top right/'
blank = Image.new("RGB", (6000,6000), "white")
for x in range(40):
for y in reversed(range(40)):
file = str(x)+'_'+str(y)+'.png'
img = open(loc+file)
blank.paste(img,(x*128,y*128))
blank.save('top right.png')
3 Réponses :
Vous ne chargez pas correctement l'image. La fonction intégrée Ouvrir ouvre simplement un nouveau descripteur de fichier. Pour charger une image avec PIL, utilisez Si vous avez une raison d'utiliser l'ouverture intégrée, alors faites quelque chose comme ceci: P> image.open code> à la place:
fin = open("bride.jpg") # open the file
img = Image.open(fin) # "load" the image from the opened file
Cela a fonctionné, merci. Je savais que ça allait être quelque chose de stupide comme ça.
Cela a fonctionné pour moi, j'utilise Odoo V9 et j'ai oreiller 4.0.
Je l'ai fait sur mon serveur avec Ubuntu: P>
# pip uninstall pillow # pip install Pillow==3.4.2 # /etc/init.d/odoo restart
Pour moi, les méthodes ci-dessus n'ont pas fonctionné.
Après avoir vérifié image.py em> j'ai trouvé que image.paste (couleur) code> a besoin d'un argument de plus comme < code> image.paste (couleur, masque = original) code>. Cela a bien fonctionné pour moi en le changeant à ceci: p>