我用MatPlotLib图可视化了一些数据。我希望能够将数字转换为一个字节数组,是与PNG十进制值格式化。https://www.w3.org/TR/PNG-Structure.html
fig = plt.figure(figsize=(16,16))
ax = fig.add_subplot(projection='3d')
ax.voxels(space, facecolors = rgb_input)
plt.axis('off')
fig.patch.set_alpha(0.25)
ax.patch.set_alpha(0.25)
我知道如何将其保存为PNG并将其转换为字节数组,但我希望能够直接生成字节数组。
我试过使用这个函数直接获取字节数组,但它不返回PNG十进制值:
buf = io.BytesIO()
plt.savefig(buf, format = 'png')
buf.seek(0)
data = buf.read()
编辑:经过进一步的研究,我发现data
值被格式化为ASCII字节数组。有没有办法把它转换成十进制字节数组?
1条答案
按热度按时间gcuhipw91#
PNG图像是二进制文件,通常用ASCII或十六进制表示,要将字节数组转换为十进制表示,您可以简单地使用Python的内置函数来完成。