1

より大きな背景画像を使用してゲームのタイルを作成し、それらをトリミングしようとしていますが、最初の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]
4

1 に答える 1

3

ループcurryの最後でリセットしているわけではありません。j範囲外になるまで増加し続けます。

于 2013-01-25T01:00:15.640 に答える