I. Am。卡住。在PIL中制作拼贴画
我一直在这一个多星期了,我似乎无法让我的代码才能正确运行。作为一个整体,我对PIL和Python相当陌生。我正在尝试制作一些2x3拼贴图片。我有我的代码列在下面。我试图让我的照片适合在新创建的拼贴中没有任何访问空格,但是当我运行我的代码时,我只能将2张照片放入拼贴中,而不是我想要的6张。任何的意见都将会有帮助。
* CODE EDITED
from PIL import Image
im= Image.open('Tulips.jpg')
out=im.convert("RGB", (
0.412453, 0.357580, 0.180423, 0,
0.212671, 0.715160, 0.072169, 0,
0.019334, 0.119193, 0.950227, 0))
out.save("Image2" + ".jpg")
out2=im.convert("RGB", (
0.9756324, 0.154789, 0.180423, 0,
0.212671, 0.715160, 0.254783, 0,
0.123456, 0.119193, 0.950227, 0))
out2.save("Image3" + ".jpg")
out3= im.convert("1")
out3.save("Image4"+".jpg")
out4=im.convert("RGB", (
0.986542, 0.154789, 0.756231, 0,
0.212671, 0.715160, 0.254783, 0,
0.123456, 0.119193, 0.112348, 0))
out4.save("Image5" + ".jpg")
out5=Image.blend(im, out4, 0.5)
out5.save("Image6" + ".jpg")
listofimages=['Tulips.jpg', 'Image2.jpg', 'Image3.jpg', 'Image4.jpg', 'Image5.jpg', 'Image6.jpg']
def create_collage(width, height, listofimages):
Picturewidth=width//3
Pictureheight=height//2
size=Picturewidth, Pictureheight
new_im=Image.new('RGB', (450, 300))
for p in listofimages:
Image.open(p)
for col in range(0,width):
for row in range(0, height):
image=Image.eval(p, lambda x: x+(col+row)/30)
new_im.paste(p, (col,row))
new_im.save("Collage"+".jpg")
create_collage(450,300,listofimages)
I.参见。错误。 首先,#是评论的符号,而不是//。 其次,循环是错误的:我应该在范围(0,a)而j在范围内(0,b)。 虽然没有检查其余部分 –
@HennadiiMadan我使用循环建议更新了我的shell的代码,现在它只返回新创建映像最左侧的一张照片。我也一直试图想出任何编写代码的新方法,但我仍然处于困境。还有什么建议?我无法弄清楚 –
我看到的第一个问题是'create_collage'没有被调用。 “a”和“b”意味着什么?我建议适当的变量名称而不是单个字母。 – Hugo