python – 如何读取二进制文件并将数据转换为图像?

基本上我想要做的是获取一个文件,将其二进制数据(当然是十进制)放入一个列表中,然后使用基于该列表的PIL生成灰度位图图像.

例如,如果文件是5000字节(图像大小将是100 x 50)并且每个字节是0到255之间的整数,我想将第一个字节绘制到第一个像素并向下行直到所有字节都用完为止.

到目前为止我唯一得到的是读取文件:

f = open(file, 'rb')
text = f.read()
for s in text:
    print(s)

这将输出十进制的字节.

我正在寻找如何实现这一目标的方向.我已经做了很多搜索,但似乎并没有太多尝试做我想做的事情.

任何帮助将不胜感激!

最佳答案 从
PIL Image documentation

Image.fromstring(mode, size, data)

对于你的例子:

im = Image.fromstring('L', (100, 50), text)

还有一个frombuffer功能,但差别并不明显.

点赞