Converting hex data to image
Ben Finney
ben+python at benfinney.id.au
Thu Nov 14 16:29:02 EST 2013
Ben Finney <ben+python at benfinney.id.au> writes:
> To turn a byte string into a file-like object for use with PIL, extract
> the byte string as ‘image_data’, use the standard library ‘io.StringIO’
> class <URL:http://docs.python.org/3/library/io.html#io.StringIO>, then
> create a new ‘PIL.Image’ object by reading from that pseudo-file::
My apologies, I showed the wrong usage. This should work::
import io
import PIL
photo_data = # … get the byte string from wherever it is …
photo_infile = io.StringIO(photo_data)
photo_image = PIL.Image.open(photo_infile)
That is, ‘PIL.Image.frombytes’ allows you to read the bytes from a byte
string, but requires you to also specify metadata about the image data
(format, pixel mode, size), whereas ‘PIL.Image.open’ reads the data from
a file-like object and parses all the metadata. So you usually want to
use the latter, as shown here.
--
\ “People's Front To Reunite Gondwanaland: Stop the Laurasian |
`\ Separatist Movement!” —wiredog, http://kuro5hin.org/ |
_o__) |
Ben Finney
More information about the Python-list
mailing list