我是编程和python的新手。我建立了一个循环,使用一个图像创建平铺图像,效果很好。
for left in range(0,iWidth,(logoWidth + xOffset)):
for top in range (0,iHeight,(logoHeight + yOffset)):
icopyIm2.paste(logo,(left,top))
icopyIm2.save("tiled_image.png")
但是,我希望它使用一系列图像,以便每个图块都不同。在“粘贴”的参数中,“徽标”变量仅是一张图像。我希望循环遍历列表,例如:
imageList = [pic1.png,pic2.png,pic3.png,pic4.png]
我不确定如何实现这一目标。
答案 0 :(得分:1)
如评论中所述,您需要弄清楚平铺不同图像时的处理方式。如果您的帧是3x3并有5张图像,您希望它看起来像什么?
我认为您的问题的核心是设置带有参数的函数。以下示例制作了一个由3个字母组成的单词的平铺图像,我认为这与您的问题一致。我选择只是反复遍历输入列表-无模式。
def make_box(width, height, hits):
hit_limit = len(hits)
count = 0
for i in range(height):
for j in range(width):
print(hits[count % hit_limit], end=' ')
count += 1
print()
hit_list = ['bop', 'pow', 'zap', 'bam', 'oof']
box_h = 3
box_w = 4
make_box(box_w, box_h, hit_list)
输出:
bop pow zap bam
oof bop pow zap
bam oof bop pow