2

画像を文字列からバイトに変換して画像に戻そうとしていますが、どこかで何かが壊れていて、何がわからないのですか。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

明らかに、私はいつでも画像を変更しないので、バイトへのエンコードまたはデコードにある必要があります。もっと良い方法があれば教えてください

4

1 に答える 1