1
我有以下問題: 我提取的GIF的不同幀的幾個PNG文件與:PIX [X,Y]返回整數代替(R,G,B,A)三元組
def extractFrames(inGif, outFolder):
frame = Image.open(inGif)
nframes = 0
while frame:
frame.save('%s/%s-%s.png' % (outFolder, os.path.basename(inGif), nframes) , 'PNG')
nframes += 1
try:
frame.seek(nframes)
except EOFError:
break;
return True
按預期工作。 但是,如果我運行下面的代碼:
im = Image.open(item) #item is one of the earlier created PNGs
pix = im.load()
for x in range(0,im.size[0]):
for y in range(0,im.size[1]):
print pix[x,y]
輸出會像13
或3
而不是預期的(255, 255, 255, 255)
。 一旦我在Paint中打開文件並保存它們而不進行任何修改,腳本就會運行得很好,並輸出一個包含(R, G, B, A)
的元組。
所以我的問題是: 爲什麼是這樣的,我怎麼修改代碼,我不必在運行代碼的第二部分之前手動打開所有圖像?
編輯:我最初嘗試了將framess提取到GIF而不是PNG中,結果相同。