[PyKDE] (transparent) PIL image to QImage conversion?

ORCAN OGETBIL orcan at psu.edu
Thu Apr 6 21:37:07 BST 2006


Hi,
I need to convert a PIL (Python Imaging Library) image to a QImage object so I
can display it in a PyQt application. I found a basic example at:

http://lists.kde.org/?l=pykde&m=114235100819012&w=2

There the PIL image is converted to a string using a jpeg encoder first; 
then the string is converted to a QByteArray;
then Qimage's loadFromData() function is used for the final conversion to a
QImage object.

My problem is, the JPEG encoding kills the transparency of my PNG images. When I
do RAW encoding, I get nothing from the QByteArray object. I also couldn't get
the thing work with a GIF encoding. PIL's tostring() function doesn't support
PNG encoding.

Here I found a list of encodings PIL provides:
http://mail.python.org/pipermail/image-sig/2004-September/002908.html

Has anybody encountered this problem? 
Can I use cStringIO.StringIO() instead of PIL's tostring() somehow?
Any solutions?

Thanks!




More information about the PyQt mailing list