2012-01-12 10 views
3

私はpng画像を持っています。文字列として保存してから、PILで再度開く必要があります。PIL fromring error

output = StringIO.StringIO() 
old_image.save(output, format="PNG") 
contents = output.getvalue() 
output.close() 

new_image = Image.fromstring(contents, "RGBA", old_image.size) 

が、それは私にエラーなります:私はそのようにそれをやろうとしているTypeError: 'argument 1 must be string without null bytes, not str'

この問題を解決するための方法を?そう

Image.fromstring("RGBA", old_image.size, contents) 

Image.fromstring(mode, size, data, decoder_name='raw', *args) 

をしかし、それは直接StringIOオブジェクトから読み取るためにはるかに簡単だということに注意してください:

答えて

3

あなたは、引数を逆に持って

output = StringIO.StringIO() 
old_image.save(output, format="PNG") 

output.seek(0) 
new_image = Image.open(output)