Мир, вероятно, не нуждается в еще одном пакете для записи массива в PNG-файл, но для тех, кто не может насытиться, я недавно поставил numpngw
на github:
https://github.com/WarrenWeckesser/numpngw
и по pypi: https://pypi.python.org/pypi/numpngw/
Единственная внешняя зависимость - numpy.
Вот первый пример из каталога examples
хранилища. Основная линия просто
write_png('example1.png', img)
, где img
- массив пустышек. Весь код перед этой строкой - операторы импорта и код для создания img
.
import numpy as np
from numpngw import write_png
# Example 1
#
# Create an 8-bit RGB image.
img = np.zeros((80, 128, 3), dtype=np.uint8)
grad = np.linspace(0, 255, img.shape[1])
img[:16, :, :] = 127
img[16:32, :, 0] = grad
img[32:48, :, 1] = grad[::-1]
img[48:64, :, 2] = grad
img[64:, :, :] = 127
write_png('example1.png', img)
Вот файл PNG, который он создает:
![example1.png](https://i.stack.imgur.com/fykhB.png)