我正在尝试为游戏制作瓷砖,使用较大的背景图像并对其进行裁剪,但在保存前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]
发布于 2013-01-25 09:00:16
您没有在j
循环的末尾重置curry
。它只会不断增加,直到超出范围为止。
https://stackoverflow.com/questions/14513628
复制相似问题