mirror of
https://github.com/YACReader/yacreader
synced 2025-06-04 01:28:55 -04:00
Fix scaling error. Use QSizes builtin scaling capabilities.
This commit is contained in:
parent
d1c3969dde
commit
bf5c0e9326
@ -490,44 +490,36 @@ QPixmap * Render::getCurrentDoublePage()
|
|||||||
{
|
{
|
||||||
QPoint leftpage(0,0);
|
QPoint leftpage(0,0);
|
||||||
QPoint rightpage(0,0);
|
QPoint rightpage(0,0);
|
||||||
QSize leftsize;
|
QSize leftsize = buffer[currentPageBufferedIndex]->size();
|
||||||
QSize rightsize;
|
QSize rightsize = buffer[currentPageBufferedIndex+1]->size();
|
||||||
int totalWidth,totalHeight;
|
int totalWidth,totalHeight;
|
||||||
switch (imageRotation)
|
switch (imageRotation)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
totalHeight = qMax(buffer[currentPageBufferedIndex]->height(), buffer[currentPageBufferedIndex+1]->height());
|
totalHeight = qMax(leftsize.rheight(),rightsize.rheight());
|
||||||
leftsize.setHeight(totalHeight);
|
leftsize.scale(leftsize.rwidth(), totalHeight, Qt::KeepAspectRatioByExpanding);
|
||||||
rightsize.setHeight(totalHeight);
|
rightsize.scale(rightsize.rwidth(), totalHeight, Qt::KeepAspectRatioByExpanding);
|
||||||
leftsize.setWidth(buffer[currentPageBufferedIndex]->width() + (totalHeight - buffer[currentPageBufferedIndex]->height()));
|
|
||||||
rightsize.setWidth(buffer[currentPageBufferedIndex+1]->width() + (totalHeight - buffer[currentPageBufferedIndex+1]->height()));
|
|
||||||
totalWidth = leftsize.rwidth() + rightsize.rwidth();
|
totalWidth = leftsize.rwidth() + rightsize.rwidth();
|
||||||
rightpage.setX(leftsize.rwidth());
|
rightpage.setX(leftsize.rwidth());
|
||||||
break;
|
break;
|
||||||
case 90:
|
case 90:
|
||||||
totalWidth = qMax(buffer[currentPageBufferedIndex]->width(), buffer[currentPageBufferedIndex+1]->width());
|
totalWidth = qMax(leftsize.rwidth(), rightsize.rwidth());
|
||||||
leftsize.setWidth(totalWidth);
|
leftsize.scale(totalWidth, leftsize.rheight(), Qt::KeepAspectRatioByExpanding);
|
||||||
rightsize.setWidth(totalWidth);
|
rightsize.scale(totalWidth, rightsize.rheight(), Qt::KeepAspectRatioByExpanding);
|
||||||
leftsize.setHeight(buffer[currentPageBufferedIndex]->height() + (totalWidth - buffer[currentPageBufferedIndex]->width()));
|
|
||||||
rightsize.setHeight(buffer[currentPageBufferedIndex+1]->height() + (totalWidth - buffer[currentPageBufferedIndex+1]->width()));
|
|
||||||
totalHeight = leftsize.rheight() + rightsize.rheight();
|
totalHeight = leftsize.rheight() + rightsize.rheight();
|
||||||
rightpage.setY(leftsize.rheight());
|
rightpage.setY(leftsize.rheight());
|
||||||
break;
|
break;
|
||||||
case 180:
|
case 180:
|
||||||
totalHeight = qMax(buffer[currentPageBufferedIndex]->height(), buffer[currentPageBufferedIndex+1]->height());
|
totalHeight = qMax(leftsize.rheight(),rightsize.rheight());
|
||||||
leftsize.setHeight(totalHeight);
|
leftsize.scale(leftsize.rwidth(), totalHeight, Qt::KeepAspectRatioByExpanding);
|
||||||
rightsize.setHeight(totalHeight);
|
rightsize.scale(rightsize.rwidth(), totalHeight, Qt::KeepAspectRatioByExpanding);
|
||||||
leftsize.setWidth(buffer[currentPageBufferedIndex]->width() + (totalHeight - buffer[currentPageBufferedIndex]->height()));
|
|
||||||
rightsize.setWidth(buffer[currentPageBufferedIndex+1]->width() + (totalHeight - buffer[currentPageBufferedIndex+1]->height()));
|
|
||||||
totalWidth = leftsize.rwidth() + rightsize.rwidth();
|
totalWidth = leftsize.rwidth() + rightsize.rwidth();
|
||||||
leftpage.setX(rightsize.rwidth());
|
leftpage.setX(rightsize.rwidth());
|
||||||
break;
|
break;
|
||||||
case 270:
|
case 270:
|
||||||
totalWidth = qMax(buffer[currentPageBufferedIndex]->width(), buffer[currentPageBufferedIndex+1]->width());
|
totalWidth = qMax(leftsize.rwidth(), rightsize.rwidth());
|
||||||
leftsize.setWidth(totalWidth);
|
leftsize.scale(totalWidth, leftsize.rheight(), Qt::KeepAspectRatioByExpanding);
|
||||||
rightsize.setWidth(totalWidth);
|
rightsize.scale(totalWidth, rightsize.rheight(), Qt::KeepAspectRatioByExpanding);
|
||||||
leftsize.setHeight(buffer[currentPageBufferedIndex]->height() + (totalWidth - buffer[currentPageBufferedIndex]->width()));
|
|
||||||
rightsize.setHeight(buffer[currentPageBufferedIndex+1]->height() + (totalWidth - buffer[currentPageBufferedIndex+1]->width()));
|
|
||||||
totalHeight = leftsize.rheight() + rightsize.rheight();
|
totalHeight = leftsize.rheight() + rightsize.rheight();
|
||||||
leftpage.setY(rightsize.rheight());
|
leftpage.setY(rightsize.rheight());
|
||||||
break;
|
break;
|
||||||
@ -552,44 +544,36 @@ QPixmap * Render::getCurrentDoubleMangaPage()
|
|||||||
{
|
{
|
||||||
QPoint leftpage(0,0);
|
QPoint leftpage(0,0);
|
||||||
QPoint rightpage(0,0);
|
QPoint rightpage(0,0);
|
||||||
QSize leftsize;
|
QSize leftsize = buffer[currentPageBufferedIndex+1]->size();
|
||||||
QSize rightsize;
|
QSize rightsize = buffer[currentPageBufferedIndex]->size();
|
||||||
int totalWidth,totalHeight;
|
int totalWidth,totalHeight;
|
||||||
switch (imageRotation)
|
switch (imageRotation)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
totalHeight = qMax(buffer[currentPageBufferedIndex]->height(), buffer[currentPageBufferedIndex+1]->height());
|
totalHeight = qMax(leftsize.rheight(),rightsize.rheight());
|
||||||
leftsize.setHeight(totalHeight);
|
leftsize.scale(leftsize.rwidth(), totalHeight, Qt::KeepAspectRatioByExpanding);
|
||||||
rightsize.setHeight(totalHeight);
|
rightsize.scale(rightsize.rwidth(), totalHeight, Qt::KeepAspectRatioByExpanding);
|
||||||
leftsize.setWidth(buffer[currentPageBufferedIndex+1]->width() + (totalHeight - buffer[currentPageBufferedIndex+1]->height()));
|
|
||||||
rightsize.setWidth(buffer[currentPageBufferedIndex]->width() + (totalHeight - buffer[currentPageBufferedIndex]->height()));
|
|
||||||
totalWidth = leftsize.rwidth() + rightsize.rwidth();
|
totalWidth = leftsize.rwidth() + rightsize.rwidth();
|
||||||
rightpage.setX(leftsize.rwidth());
|
rightpage.setX(leftsize.rwidth());
|
||||||
break;
|
break;
|
||||||
case 90:
|
case 90:
|
||||||
totalWidth = qMax(buffer[currentPageBufferedIndex]->width(), buffer[currentPageBufferedIndex+1]->width());
|
totalWidth = qMax(leftsize.rwidth(), rightsize.rwidth());
|
||||||
leftsize.setWidth(totalWidth);
|
leftsize.scale(totalWidth, leftsize.rheight(), Qt::KeepAspectRatioByExpanding);
|
||||||
rightsize.setWidth(totalWidth);
|
rightsize.scale(totalWidth, rightsize.rheight(), Qt::KeepAspectRatioByExpanding);
|
||||||
leftsize.setHeight(buffer[currentPageBufferedIndex+1]->height() + (totalWidth - buffer[currentPageBufferedIndex+1]->width()));
|
|
||||||
rightsize.setHeight(buffer[currentPageBufferedIndex]->height() + (totalWidth - buffer[currentPageBufferedIndex]->width()));
|
|
||||||
totalHeight = leftsize.rheight() + rightsize.rheight();
|
totalHeight = leftsize.rheight() + rightsize.rheight();
|
||||||
rightpage.setY(leftsize.rheight());
|
rightpage.setY(leftsize.rheight());
|
||||||
break;
|
break;
|
||||||
case 180:
|
case 180:
|
||||||
totalHeight = qMax(buffer[currentPageBufferedIndex]->height(), buffer[currentPageBufferedIndex+1]->height());
|
totalHeight = qMax(leftsize.rheight(),rightsize.rheight());
|
||||||
leftsize.setHeight(totalHeight);
|
leftsize.scale(leftsize.rwidth(), totalHeight, Qt::KeepAspectRatioByExpanding);
|
||||||
rightsize.setHeight(totalHeight);
|
rightsize.scale(rightsize.rwidth(), totalHeight, Qt::KeepAspectRatioByExpanding);
|
||||||
leftsize.setWidth(buffer[currentPageBufferedIndex+1]->width() + (totalHeight - buffer[currentPageBufferedIndex+1]->height()));
|
|
||||||
rightsize.setWidth(buffer[currentPageBufferedIndex]->width() + (totalHeight - buffer[currentPageBufferedIndex]->height()));
|
|
||||||
totalWidth = leftsize.rwidth() + rightsize.rwidth();
|
totalWidth = leftsize.rwidth() + rightsize.rwidth();
|
||||||
leftpage.setX(rightsize.rwidth());
|
leftpage.setX(rightsize.rwidth());
|
||||||
break;
|
break;
|
||||||
case 270:
|
case 270:
|
||||||
totalWidth = qMax(buffer[currentPageBufferedIndex]->width(), buffer[currentPageBufferedIndex+1]->width());
|
totalWidth = qMax(leftsize.rwidth(), rightsize.rwidth());
|
||||||
leftsize.setWidth(totalWidth);
|
leftsize.scale(totalWidth, leftsize.rheight(), Qt::KeepAspectRatioByExpanding);
|
||||||
rightsize.setWidth(totalWidth);
|
rightsize.scale(totalWidth, rightsize.rheight(), Qt::KeepAspectRatioByExpanding);
|
||||||
leftsize.setHeight(buffer[currentPageBufferedIndex+1]->height() + (totalWidth - buffer[currentPageBufferedIndex+1]->width()));
|
|
||||||
rightsize.setHeight(buffer[currentPageBufferedIndex]->height() + (totalWidth - buffer[currentPageBufferedIndex]->width()));
|
|
||||||
totalHeight = leftsize.rheight() + rightsize.rheight();
|
totalHeight = leftsize.rheight() + rightsize.rheight();
|
||||||
leftpage.setY(rightsize.rheight());
|
leftpage.setY(rightsize.rheight());
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user