In my application I would like to convert a JPG to a PNG format.
Easy, if you save the output to a file.
image.save('file.png', 'PNG')
Now, this is not what I want. In my application I would like to return
the converted PNG file.png data.
2 way how I tried this:
1)
image.save('file.png', 'PNG')
return open('file.png', 'r').read() #Eeeks
and
2)
s = StringIO()
image.save(s,'PNG')
return s.getvalue()
Well, because in the first option, I need to read and write to and from disk is not an elegant programming option, I prefer to do the latter. Unfortunately, this seems only to work for GIF and JPEG, but not for PNG.
As a test I try to reconvert the file output to an image again but the image.verify() throws an fp.seek.tile error. This only happens with PNG files.
Has someone good alternative for me and perhaps an answer why this fails? Because of the use of StringIO? Do I need a Stream object. If so, how to use it.
Please help.
Vincent