Растяжение изображения по оси OY на Qt
По заданию необходимо растянуть(либо сжать) изображение по оси OY на заданный коэффициент. Попытался написать, как итог, загружается первоначальное изображение. Подскажите, как можно исправить программу, чтобы она работала корректно.
mainwindoww.cpp:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QRect>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
Work();
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::Work()
{
sc = new QGraphicsScene;
QPixmap qp(ui->graphicsView->size());
QPainter pn(&qp);
pn.fillRect(QRect(0,0,ui->graphicsView->width(),ui->graphicsView->height()), QBrush(Qt::white));
QString url = "D:/Desktop/sc.jpg";
QPixmap px(url);
pn.drawPixmap(0,0,ui->graphicsView->width(),ui->graphicsView->height(),px);
sc->addPixmap(qp);
ui->graphicsView->setScene(sc);
}
void MainWindow::Change()
{
QString sk;
QPixmap qp(ui->graphicsView->size());
QPainter pn(&qp);
sk = ui->lineEdit->text();
k = sk.toInt();
int wd;
wd = ui->graphicsView->width();
wd *= k;
QRect r;
r.setWidth(wd);
r.setHeight(ui->graphicsView->height());
QString url = "D:/Desktop/sc.jpg";
QPixmap px(url);
pn.drawPixmap(r,px);
sc->addPixmap(qp);
ui->graphicsView->setScene(sc);
}
mainwindow.ui:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QGraphicsScene>
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
QGraphicsScene *sc;
QPixmap px;
QPixmap qp;
QPainter pn();
int k;
void Work();
void Change();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H