画像を文字列からバイトに変換して画像に戻そうとしていますが、どこかで何かが壊れていて、何がわからないのですか。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
明らかに、私はいつでも画像を変更しないので、バイトへのエンコードまたはデコードにある必要があります。もっと良い方法があれば教えてください