Re: A possible bug in converting palletized images to QImage

Mauricio Muñoz Lucero <[email protected]>
Newsgroups gmane.comp.python.image
Message-ID <[email protected]>
2010/1/4 Christopher Barker <[email protected]> wrote:
>
> Mauricio Muñoz Lucero wrote:
>>
>> I am making an image converter using PIL 1.1.7 and PyQt 4.6 for the gui.
>>
>> Everything goes perfect, except when i try to convert an image in "P"
>> mode (8 bit pixels and using a colour palette) to QImage, using the
>> ImageQt module.
>
> ...
>>
>> Is it really a bug or am i using incorrectly the ImageQt module?
>
> That would be a question for a QT list.

Perhaps i did not explain well the other day, but i think that the
problem appears in the ImageQT module of PIL, the piece of code that
take charge to convert an image in palette mode to QImage in PIL is:

        elif im.mode == "P":
            format = QImage.Format_Indexed8
            colortable = []
            palette = im.getpalette()
            for i in range(0, len(palette), 3):
                colortable.append(rgb(*palette[i:i+3]))

But if i change the "palette = im.getpalette()" by:

            palette = im.palette.getdata()
            palette = palette[1]

Then i don't get the OverflowError that i commented on my first
message, because of that i wrote over a "possible bug" in PIL, with
the hope that a developer of PIL could clarify this subject.

> But another option is to convert the image form palette to RGB (or RGBA0 with PIL instead. Something like:
>
> im = PIL.Image(the_image_file)
> im = im.convert('RGB')

Yes, of course, it's a perfect and elegant solution (if you don't need
to manipulate the image in palette mode with QT), only fix the bug
could be better.

Thanks, Chris!

Maurice.
_______________________________________________
Image-SIG maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/image-sig
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.