Don't use QImage to compose double pages. Drawing the page on a QPixmap is way faster and requires less conversions!

This commit is contained in:
Felix Kauselmann 2014-11-02 14:47:04 +01:00
parent 9c022fb2f1
commit d11414d181

View File

@ -516,13 +516,10 @@ QPixmap * Render::getCurrentDoublePage()
default: default:
return NULL; return NULL;
} }
QImage auximage(totalWidth, totalHeight, QImage::Format_RGB32); QPixmap * page = new QPixmap(totalWidth, totalHeight);
QPainter painter(&auximage); QPainter painter(page);
painter.drawImage(leftpage, *buffer[currentPageBufferedIndex]); painter.drawImage(leftpage, *buffer[currentPageBufferedIndex]);
painter.drawImage(rightpage, *buffer[currentPageBufferedIndex+1]); painter.drawImage(rightpage, *buffer[currentPageBufferedIndex+1]);
QPixmap * page = new QPixmap();
*page = page->fromImage(auximage);
return page; return page;
} }
else else
@ -563,13 +560,10 @@ QPixmap * Render::getCurrentDoubleMangaPage()
default: default:
return NULL; return NULL;
} }
QImage auximage(totalWidth, totalHeight, QImage::Format_RGB32); QPixmap * page = new QPixmap(totalWidth, totalHeight);
QPainter painter(&auximage); QPainter painter(page);
painter.drawImage(rightpage, *buffer[currentPageBufferedIndex]); painter.drawImage(rightpage, *buffer[currentPageBufferedIndex]);
painter.drawImage(leftpage, *buffer[currentPageBufferedIndex+1]); painter.drawImage(leftpage, *buffer[currentPageBufferedIndex+1]);
QPixmap * page = new QPixmap();
*page = page->fromImage(auximage);
return page; return page;
} }
else else