PIL: reading bytes from Image

cyberco cyberco at gmail.com
Sun Mar 11 12:07:23 EDT 2007


Thanks,

I've tried the StringIO option as follows:

=================================
img = Image.open('/some/path/img.jpg')
img.thumbnail((640,480))
file = StringIO, StringIO()
img.save(file, 'JPEG')

=================================

But it gives me:

=================================

exceptions.TypeError                                 Traceback (most
recent call last)

C:\Python24\lib\site-packages\PIL\Image.py in save(self, fp, format,
**params)
   1303
   1304         try:
-> 1305             save_handler(self, fp, filename)
   1306         finally:
   1307             # do what we can to clean up

C:\Python24\lib\site-packages\PIL\JpegImagePlugin.py in _save(im, fp,
filename)
    407         )
    408
--> 409     ImageFile._save(im, fp, [("jpeg", (0,0)+im.size, 0,
rawmode)])
    410
    411 def _save_cjpeg(im, fp, filename):

C:\Python24\lib\site-packages\PIL\ImageFile.py in _save(im, fp, tile)
    464     bufsize = max(MAXBLOCK, im.size[0] * 4) # see RawEncode.c
    465     try:
--> 466         fh = fp.fileno()
    467         fp.flush()
    468     except AttributeError:

TypeError: descriptor 'fileno' of 'file' object needs an argument
=================================

It looks similar to the code in Sparklines except for the fact that
the latter creates an Image from scratch.

2B

> Saving the image, in a
> format your client understands, to a file like object like
> StringIO.StringIO is an easy path to take.
>
> Sparklines shows this in action:
>
> http://bitworking.org/projects/sparklines/
>
> max





More information about the Python-list mailing list