使用PyPNG进行迭代编写

时间:2014-10-22 22:21:01

标签: python png pypng

我想知道是否有办法使用PyPNG迭代地编写png文件(如逐行,或逐块),而不向png.Writer()提供整个数据。我查看了文档,但是所有的writer方法都需要一次png的所有行(使用太多的内存)。

提前致谢!

1 个答案:

答案 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")