The first image:

>>> i=PIL.Image.open(open("/Users/wichert/Desktop/dont.bmp"))
>>> i
<PIL.BmpImagePlugin.BmpImageFile instance at 0x43f490>
>>> i.mode
'RGB'
>>> i.size
(290, 4294967075L)
>>> i.tile
[('raw', (0, 0, 290, 4294967075L), 54, ('BGR', 872, -1))]

and the second image:

>>> i=PIL.Image.open(open("/Users/wichert/Desktop/dont2.bmp"))
>>> i.mode
'RGB'
>>> i.size
(288, 4294967078L)
>>> i.tile
[('raw', (0, 0, 288, 4294967078L), 54, ('BGR', 864, -1))]


Regards,
Wichert.

On 3/5/09 6:41 PM, Fredrik Lundh wrote:
Can you print the following attributes for a broken file, before calling load:

     pil_data.mode
     pil_data.size
     pil_data.tile

</F>

2009/3/3 Wichert Akkerman<wich...@simplon.biz>:
I have a small routine which tries to verify if an uploaded file is a valid
image. It works like this:

         image_data=StringIO(data)
         try:
             pil_data=PIL.Image.open(image_data)
         except IOError: # PIL abuses IOError to report parsing errors
             raise Invalid(self.message("bad_image", state),
                     value, state)

         pil_data.load()
         (width,height)=pil_data.size

For some images I get an OverflowError on the load() call:

Module PIL.ImageFile:155 in load
   self.load_prepare()
Module PIL.ImageFile:223 in load_prepare
   self.im = Image.core.new(self.mode, self.size)
OverflowError: long int too large to convert to int

I can not find any information as to what the problem might be. It seems to
only occur for bmp files; jpeg and png appear to work correctly.

This is using PIL 1.1.6 and Python 2.5 on a Linux system.

Wichert.
<<                       self.map = None

                self.load_prepare()

                # look for read/seek overrides
<<           if not self.im or\
                   self.im.mode != self.mode or self.im.size != self.size:
                    self.im = Image.core.new(self.mode, self.size)
                # create palette (optional)
                if self.mode == "P":
_______________________________________________
Image-SIG maillist  -  Image-SIG@python.org
http://mail.python.org/mailman/listinfo/image-sig



_______________________________________________
Image-SIG maillist  -  Image-SIG@python.org
http://mail.python.org/mailman/listinfo/image-sig

Reply via email to