From 3cca3491777110f34276b4f44ccf355c3dcd6dbc Mon Sep 17 00:00:00 2001 From: Gerhard Roethlin Date: Thu, 24 Feb 2011 12:23:59 +0100 Subject: OpenGL Framebuffer Format MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OpenGL's framebuffer contains data with premultiplied alpha images, so QImage::Format_ARGB32_Premultiplied should be used instead of QImage::Format_ARGB32 to store it. Alternatively, the color values could be divided by the alpha to restore the original color. Merge-request: 1102 Reviewed-by: Samuel Rødal --- src/opengl/qgl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp index 0ec3a15..76621e9 100644 --- a/src/opengl/qgl.cpp +++ b/src/opengl/qgl.cpp @@ -1791,7 +1791,7 @@ static void convertFromGLImage(QImage &img, int w, int h, bool alpha_format, boo QImage qt_gl_read_framebuffer(const QSize &size, bool alpha_format, bool include_alpha) { - QImage img(size, (alpha_format && include_alpha) ? QImage::Format_ARGB32 + QImage img(size, (alpha_format && include_alpha) ? QImage::Format_ARGB32_Premultiplied : QImage::Format_RGB32); int w = size.width(); int h = size.height(); -- cgit v0.12