[英]Merge images with Python
我正在尝试将图像与python合并,但总的来说,结果图像总是出现在木板上。
from PIL import Image
images = map(Image.open, ['0.png', '1.png', '2.png', '3.png', '/4.png', '5.png', '6.png', '7.png'])
widths, heights = zip(*(i.size for i in images))
total_width = sum(widths)
max_height = max(heights)
new_im = Image.new('RGB', (total_width, max_height))
x_offset = 0
for im in images:
new_im.paste(im, (x_offset,0))
x_offset += im.size[0]
new_im.save('test.png')
问题是创建迭代器images
map
,迭代器只能使用一次 - 即。 在一for
。 之后,它认为没有更多的图像和第二for
不起作用。
并且您使用两个for
循环中的images
首先(它正常工作):
zip(*(i.size for i in images))
第二(它看到空列表)
for im in images:
您必须使用list()
来创建可以与许多for
循环一起使用的真实列表
images = list(map(...))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.