You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PIL生成图片网格仅显示首行问题求助

问题原因及修复方案

问题根源

你的代码中,x变量在完成首行图片粘贴后,已经累加到2000(等于画布宽度)。后续外层循环每次增加y值时,x没有被重置为0,内层while x<2000的条件直接不成立,导致后续行完全不会执行粘贴操作,因此只有首行显示图片。

修复后的代码

def create_grid(im2,w,h):
    image = Image.new("RGBA",(2000,1000),(0,0,0))
    y = 0
    x_change = int(2000/w)
    y_change = int(1000/h)
    while y<1000:
        x = 0  # 每次绘制新行时重置x坐标到画布左侧
        while x<2000:
            image.paste(im2,(x,y))
            x += x_change
        y += y_change
    image.show()

额外说明

  • 将x = 0移至外层循环内部,确保每开始一行的绘制,x坐标都从0重新起步。
  • 你传入的参数create_grid(im2,20,10)对应每行20张、共10行,计算出的x_change=100、y_change=100刚好和im2的100x100尺寸匹配,不会出现图片重叠或间隙问题。

内容的提问来源于stack exchange,提问作者poka luka wan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 01:53:11