我想知道是否有办法使用PyPNG迭代地编写png文件(如逐行,或逐块),而不向png.Writer()提供整个数据。我查看了文档,但是所有的writer方法都需要一次png的所有行(使用太多的内存)。
提前致谢!
答案 0 :(得分:1)
如果你提供迭代器,那么PyPNG将使用它。完整的例子:
#!/usr/bin/env python
import random
import png
def iter_rows():
H = 4096
for i in xrange(H):
yield [random.randrange(i+1) for _ in range(4096)]
img = png.from_array(iter_rows(), mode="L;12",
info=dict(size=(4096,4096)))
img.save("big.png")