2013-01-25 66 views
1

我正在嘗試爲使用較大背景圖像的遊戲製作拼貼並裁剪它們,但保存前17張圖像後,我開始遇到問題。第18張圖像在底部變黑,其餘圖像全部變黑。有什麼想法嗎?Python Image.crop保存黑色圖像

這是我的代碼。 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

我確定這個用戶會發佈一個圖片,但是沒有足夠的聲望。 (+1) – BlackVegetable

+0

我以爲你的問題是在第16和第17張圖片 –

回答

3

你不能在j循環結束復位curry。它一直在增加,直到超出界限。

+0

真棒,謝謝。 – jabelch