2016-11-29 45 views
0

我想用PyPNG從三維列表製作一個png圖像。根據這個GitHub release note,這應該是可能的。用PyPNG和三維列表製作圖像

#!/usr/bin/env python3.5 
import png; 

pixels = [[(255,0,0) for i in range(32)] for j in range(32)] 
png.from_array(pixels, 'RGB;16').save('red.png'); 

我期待一個紅色的圖像,但結果是黑色的。我錯過了明顯的東西嗎?

+0

是否有可能'png'需要不同形狀的3d陣列?即每個通道一個列表(長度等於像素數),而不是每個像素的三元組? – jbndlr

回答

0

我的問題是我保存的位深度爲16位。在16位顏色中,255值太小,所以圖像看起來很黑(儘管實際上它的顏色稍微偏紅)。版本:

#!/usr/bin/env python3.5 
import png; 

pixels = [[(65535,0,0) for i in range(32)] for j in range(32)] 
png.from_array(pixels, 'RGB;16').save('red.png');