使用PyPNG进行迭代写入
我在想有没有办法用PyPNG逐行或者分块地写入png文件,而不需要一次性把所有数据都给png.Writer()
。我查了文档,发现所有的写入方法都要求一次性提供整个PNG的所有行,这样会占用太多内存。
提前谢谢你们!
1 个回答
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")