如何使用python3修复拼贴中的错误?

时间:2017-12-05 03:38:59

标签: python-3.x image-processing

我想制作3 x 3张照片的拼贴画。我想重复使用我做2 x 2拼贴的代码,但它没有用。主要我想了解我的错误,而不是运行代码(我知道这里有一个解决方案,但采用不同的方法)。

非常感谢帮助,因为我对编码完全不熟悉。

from PIL import Image    
new_im = Image.new('RGB', (640,480))

width = 213
height = 160

x = 0
y = 0

for im in image_list:
    if (x == 640):
        y = y + height
        x = 0
    im.thumbnail((width, height))
    new_im.paste(im, (x,y))
    x = x + width

new_im.save('collage.png')

1 个答案:

答案 0 :(得分:0)

始终确保打印您的值作为调试的第一步。一个简单的

print(x, y)
循环底部的

可以为您省去麻烦。在这种情况下,变量x每次只更新213次,这不是640的倍数。

如果您希望拼贴一般为NxM,则只需将宽度和高度设为width/Nheight/M,然后舍入为整数。然后,只要x >= width*N提前y,就会检查。