QImage QGLWidget::convertToGLFormat( const QImage& img ) { QImage res = img.convertDepth( 32 ); res = res.mirror(); if ( QImage::systemByteOrder() == QImage::BigEndian ) { // Qt has ARGB; OpenGL wants RGBA for ( int i=0; i < res.height(); i++ ) { uint *p = (uint*)res.scanLine( i ); uint *end = p + res.width(); while ( p < end ) { *p <<= 8; p++; } } } else { // Qt has ARGB; OpenGL wants ABGR (i.e. RGBA backwards) res = res.swapRGB(); } return res; }