如何在python中将十六进制字符串转换为彩色图像?

时间:2018-07-16 02:32:55

标签: python image hex python-imaging-library

我是编程新手,所以我对将字符串转换为彩色图像有一些疑问。

我有一个数据,它由十六进制字符串组成,就像fff2f3 ..... 我想像这样将文件转换为png。

enter image description here

我可以通过this site将十六进制数据转换为png图像 但我不知道如何使用python代码将十六进制数据转换为png图像 但我尝试使用Image.frombytes('RGB',(1600,1059),hex_str)但 我不知道图像大小,所以我无法使用此方法。

所以我的问题是如何使用Python代码将此十六进制data转换为图像

请给我一些建议,谢谢:)

1 个答案:

答案 0 :(得分:3)

可以将十六进制字符串读入bytes对象,然后将该二进制文件写入.png文件中,如下所示:

with open('binary_file') as file:
    data = file.read()

data = bytes.fromhex(data[2:])

with open('image.png', 'wb') as file:
    file.write(data)

并产生此结果,请记住它已损坏:

corrupted result