[Qt] Skalowanie i obracanie zdjęć

0

Witam:) chciał bym prosić o pomoc przy skalowaniu i obracaniu zdjęć. Mam w klasie PaintArea obsługującej wszystkie operacje na obrazie, dwie następujące metody:
c++:

void PaintArea::skalowanie(int x, int y){
QPainter painter (this);
image.scaled(QSize(x,y),Qt::IgnoreAspectRatio,Qt::FastTransformation);
painter.drawImage (QPoint(0,0),image);
update ();
resize(x,y);

}
void PaintArea::ObrotL(){
QTransform matrix;
matrix.rotate(90.0);
image.transformed(matrix,Qt::FastTransformation);
QPainter paint (this);
resize(height(),width());
paint.drawImage (QPoint(0,0),image);
update ();
}

W przypadku oby metod w konsoli Qt Creator występuje następujący błąd:
QPainter: Paint device returned engine == 0, type: 1
Prosił bym o pomoc przy poprawnym napisaniu tych metod. Aby można było skalować zdjęcia do rozmiaru podanego w zmiennych x i y oraz obracać zdjęcie o 90 stopni.

0

a co to jest to PainArea i czy jest widoczne?

0

PaintArea to klasa która obsługuje operacje na obrazie. W niej znajdują się te metody. I jeżeli dobrze zrozumiałem definicja klasy jest widoczna dla nich:)

0

No to może inaczej: co rozszerza ta klasa? Jaka są pierwsze klasy bazowe Qt-kowe.

0

#include <QPainter>
#include <QImage>
#include <QPicture>
#include <QPixmap>
#include <QtGui>

klasa dziedziczy również po QWidget

0

No to teraz wszystko jasne!.
Rysować na QWidget można TYLKO wewnątrz zdarzenia paintEvent.

0

dziękuje za pomoc:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1