QGraphicsView und QGraphicsScene
Verfasst: 6. September 2010 09:37
Hallo,
ich möchte in ein .jpg bild linien einzeichnen und diese am liebsten mit der maus verschieben. nachdem ich die examples durchstöbert hatte bin ich auf das graphicsview portedcanvas example gestoßen das diese funktionalität beinahe schon komplett zur verfügung stellt. mein Problem ist jetzt das ich später das bild auch komplett mit allen nicht rotierten und rotierten linien in einem .jpg wieder abspeichern will. bisher habe ich das immer mit qimage und qpainter mit qimage als painting device vom qpainter gemacht. wenn man dann die save funktion von qimage aufruft habe ich alles abgespeichert. mit dem qimage fällt mir die verschiebung aber sehr schwer, weshalb ich nun lieber auf qgraphicsview und qgraphicsscene umsteigen möchte, nur wie kann ich mit diesen klassen speichern eine art save funktion sehe ich in der doku nicht. gibt es einen anderen weg.
hier ist mein code bisher
wenn man sich das beispiel ansieht zeichnet er mir das bild und eine linie einmal diagonal durchs bild. wenn ich das linien malen aber vor das bild malen ziehe sieht man die linie nicht mehr. was mich erahnen lässt das linie und bild irgendwie getrennt werden. dieses problem hatte ich auch als ich erst nur mit qimage und nicht noch mit dem painter gearbeitet habe. was würdet ihr mir raten soll ich lieber mit graphicsview/scene weiterarbeiten was eigentlich mächtiger als image/painter ist oder soll ich wieder zum image/paitner zurück? wenn ich bei graphicsview/scene bleiben soll. wie würde das speichern dann funktionieren??
viele liebe grüße
newbie
ich möchte in ein .jpg bild linien einzeichnen und diese am liebsten mit der maus verschieben. nachdem ich die examples durchstöbert hatte bin ich auf das graphicsview portedcanvas example gestoßen das diese funktionalität beinahe schon komplett zur verfügung stellt. mein Problem ist jetzt das ich später das bild auch komplett mit allen nicht rotierten und rotierten linien in einem .jpg wieder abspeichern will. bisher habe ich das immer mit qimage und qpainter mit qimage als painting device vom qpainter gemacht. wenn man dann die save funktion von qimage aufruft habe ich alles abgespeichert. mit dem qimage fällt mir die verschiebung aber sehr schwer, weshalb ich nun lieber auf qgraphicsview und qgraphicsscene umsteigen möchte, nur wie kann ich mit diesen klassen speichern eine art save funktion sehe ich in der doku nicht. gibt es einen anderen weg.
hier ist mein code bisher
Code: Alles auswählen
#include "graphics.h"
Graphics::Graphics(QWidget *parent, Qt::WFlags flags)
: QWidget(parent, flags)
{
QString path = "D:/Programmierung/C++/Graphics/trunk/Debug/SavePics/dfgd.jpg";
ui.setupUi(this);
m_qGraphicsScene = new QGraphicsScene();
m_qGraphicsScene->addPixmap(QPixmap::fromImage(*(new QImage(path))));
m_qGraphicsScene->addLine(0, 0, 768, 576, QPen( "red"));
ui.graphicsView->setScene(m_qGraphicsScene);
}
Graphics::~Graphics()
{
}
void Graphics::on_pushButton_clicked()
{
}
viele liebe grüße
newbie