我正在尝试使用更大的背景图像为游戏制作图块并裁剪它们,但在保存前17张图像后,我开始遇到问题。第18张图像在底部变黑,其余图像全部为黑色。有什么想法吗?
这是我的代码。 imagesize =(512,512),tilesize =(32,32)
def __init__(self, path, imagesize, tilesize):
self.tiles = dict()
self.backimage = Image.open(path)
self.backimage.resize(imagesize)
self.x = imagesize[0]/tilesize[0]
self.y = imagesize[1]/tilesize[1]
currx = 0
curry = 0
for i in range(self.x):
for j in range(self.y):
tmp = path + str(i) + "_" + str(j) + ".png"
self.tiles[(i, j)] = tmp
image = self.backimage.crop((currx, curry, currx+tilesize[0], curry+tilesize[1]))
image.save(tmp, "PNG")
curry += tilesize[1]
currx += tilesize[0]
答案 0 :(得分:3)
您未在curry
循环结束时重置j
。它一直在增加,直到它超出范围。