image lib & Qt4
Fredrik Lundh
fredrik at pythonware.com
Sat Jun 3 10:13:04 EDT 2006
K.S.Sreeram wrote:
> I was hacking the code trying to support RGBA mode images, and
> inadvertently i tried im.tostring("raw","BGRX") on the RGBA mode image.
>
> So BGRX does indeed work for RGB mode images.
>
> While trying to support RGBA mode images, i realized that a BGRA raw
> mode is needed for working with QImage. It doesn't seem to be supported
> by PIL. Any workarounds?
sure! here's a patch:
Index: ImageQt.py
===================================================================
--- ImageQt.py (revision 342)
+++ ImageQt.py (working copy)
@@ -58,6 +61,14 @@
elif im.mode == "RGB":
data = im.tostring("raw", "BGRX")
format = QImage.Format_RGB32
+ elif im.mode == "RGBA":
+ try:
+ data = im.tostring("raw", "BGRA")
+ except SystemError:
+ # workaround for earlier versions
+ r, g, b, a = im.split()
+ im = Image.merge("RGBA", (b, g, r, a))
+ format = QImage.Format_ARGB32
else:
raise ValueError("unsupported image mode %r" % im.mode)
</F>
More information about the Python-list
mailing list