我正在尝试将图像转换为字符串到字节然后再转换回图像,但是某处发生了故障,我真的不知道是什么。我正在使用 Python 3.3 和 pygame。
我需要对字符串执行此操作的原因是因为稍后我计划将字符串导出到 XML 文件,并且当我拉取变量时,它无论如何都会以 unicode 字符串类型出现。
对于这个烦人的问题,任何帮助将不胜感激。
import pygame
pygame.init()
displaysurf = pygame.display.set_mode((500, 500))
dirtImg = pygame.image.load('1.gif')
dirtXY= dirtImg.get_size()
print(dirtXY)
dirtText = str(pygame.image.tostring(dirtImg,'RGBX',False))
dirtBytes = bytes(dirtText, 'utf8' )
print(type(dirtBytes))
#prints out <class 'bytes'>
testimg = pygame.image.fromstring(dirtBytes, dirtXY, 'RGBX')
错误信息
Traceback (most recent call last):
File "C:\Users\Derek\workspace\Test\test.py", line 18, in <module>
testimg = pygame.image.fromstring(dirtBytes, dirtXY, 'RGBX')
ValueError: String length does not equal format and resolution size
显然我不会随时更改图像,因此它必须在编码或解码为字节。如果有更好的方法,请告诉