Seite 1 von 1
Wie painte ich ein QImage in ein QGraphicsView?
Verfasst: 14. August 2009 13:05
von theprogrammer12
Hier mein Code:
Code: Alles auswählen
QGraphicsScene *scene = new QGraphicsScene();
scene->setBackgroundBrush(QColor(0, 0, 0));
ViewBox->setScene(scene);
Wie kann ich da jetzt ein QImage einfügen??
Verfasst: 14. August 2009 13:20
von franzf
Was hast du bisher versucht?
Schon mal die
Doku gelesen?
//edit:
Und muss es denn wirklich ein QImage sein? Hast du dir die Doku dazu schon mal durchgelesen?
Qt provides four classes for handling image data: QImage, QPixmap, QBitmap and QPicture. QImage is designed and optimized for I/O, and for direct pixel access and manipulation, while QPixmap is designed and optimized for showing images on screen. QBitmap is only a convenience class that inherits QPixmap, ensuring a depth of 1. Finally, the QPicture class is a paint device that records and replays QPainter commands
Verfasst: 14. August 2009 15:11
von theprogrammer12
Also ich habs schon mal so probiert:
bzw. so:
Code: Alles auswählen
scene->setForegroundBrush(QBrush(QImage(".\bla.png")));
Ich habs auch schon mal mit QPixmap versucht, was auch nicht funktioniert hat:
Verfasst: 14. August 2009 15:19
von franzf
Das hier klappt wunderbar:
Code: Alles auswählen
#include <QApplication>
#include <QGraphicsView>
#include <QGraphicsScene>
#include <QPixmap>
int main(int argc, char** argv)
{
QApplication app(argc, argv);
QGraphicsView view;
QGraphicsScene scene;
view.setScene(&scene);
scene.addPixmap(QPixmap("./test.png"));
view.show();
return app.exec();
}
Wenn etwas nicht klappt, sollte man genau sagen was nicht geht, und evtl Fehlermeldungen posten.
Verfasst: 14. August 2009 16:04
von theprogrammer12
Danke!
Jetzt hab ich nur das Problem, dass ich das Bild zwingend als QImage habe.
Ich will nämlich einen Webcam-Server mit OpenCV programmieren (American Pie hehe) und die Funktion, die das IplImage in ein Qt-Format convertet, als rückgabewert ein QImage hat. Gibt es da irgendeine Möglichkeit das umzukonvertieren?
Verfasst: 14. August 2009 16:07
von theprogrammer12
Ah ok! Ich hab die Funktion gefunden:
scene->addPixmap(QPixmap().fromImage(QImage("./bla.png")));
Danke für die Hilfe!
Verfasst: 14. August 2009 17:02
von franzf
theprogrammer12 hat geschrieben:Ah ok! Ich hab die Funktion gefunden:
scene->addPixmap(QPixmap().fromImage(QImage("./bla.png")));
Funktion gefunden, aber Anwendung falsch

fromImage() ist eine statische Funktion, welche man üblicherweise ohne Instanz aufruft:
Verfasst: 15. August 2009 16:27
von theprogrammer12
Oh! Danke!