Sirtaj Singh Kang (ssk@physics.unimelb.edu.au) spake thusly: > > On Sun, 23 May 1999, Jo Dillon wrote: > [snip] > > Whereas Qt uses RGB in one table and A in another, if I recall correctly. > > I don't know what happens inside a QPixmap, but QImage also stores the > alpha channel for each pixel in the MSB of the 32-bit data. Hum. Maybe it was Imlib that had a separate alpha table. I recall there was some sort of difficulty along these lines a few months ago. QPixmap's are X Pixmaps, which simply have no clue about alpha channels. > That would be absolutely disastrous considering how X servers grow in > memory footprint over time. I looked at some of the Imlib image loading > routines after writing the PNG reader. It looked almost exactly the same > as my code (except that imlib saves the gamma info etc in a separate > struct, whereas I got libpng to use it while decoding) so I don't think > that's where the speed improvement comes from. I guess it has to be > somewhere in the conversion to an X Pixmap. > > Anyone feel like checking this? I think that's it - I did peek at this code ages ago and there is some highly optimised stuff for different depths of X image and so forth. I think it also supports 16bpp XImage's directly, whereas QImages don't. -- Jo