QImage anzeigen

Alles rund um die Programmierung mit Qt
Antworten
Quine
Beiträge: 3
Registriert: 6. April 2006 10:59

QImage anzeigen

Beitrag von Quine »

Hallo Forum,

ich habe es nun endlich geschafft, mein Bild in ein QImage rein zu bekommen. Dieses will ich nun einfach irgendwie sichtbar machen, schaff es aber irgendwie nicht. Ich bin mir jedoch sicher, dass das Bild korrekt ist, da ein image->save() das Bildkorrekt auf die Platte schreibt, also zickt nur das anzeigen.

Was ich schon versucht habe:
- QImage in eine Pimap laden mit pixmap->fromImage(*image,Qt::ColorOnly), das is dann aber trotzdem nur grau (ebenfalls mit den default-flags) Lade ich ein Bild direkt von Datei ins Pixmap, wird das auch angezeigt, also geht irgendwas bei fromImage() schief.
- QPainter, damit komm ich gar nicht klar. Versteh nicht so ganz, was der wohin zeichnet und was ich dafür so brauche und ob das mir in meinem Fall überhaupt was bringt... :-(

Alles in allem wäre es gut, mal einen Code-Schnipsel zu haben, wo einfach nur ein QImage angezeigt wird. Ich steh da irgendwie vor dem Berg...

Vielen lieben Dank!
Patrick
Alci
Beiträge: 70
Registriert: 24. März 2006 23:34

Beitrag von Alci »

Hi,

hier vielleicht ein kleines Codebeispiel:

Code: Alles auswählen

class MyWidget : public QWidget
{
private:
QImage MyImage;
...
protected:
void paintEvent(QPaintEvent* pEvent);
}

Cpp-File
void MyWidget::paintEvent(QPaintEvent* pEvent)
{
QPainter Painter;
Painter.begin(this);
Painter.drawImage(pEvent->rect(), MyImage); //hier zeichnest du das Bild ins Widget
Painter.end();
}
Das ist jetzt ein sehr primitives Beispiel. Aber ich habe bisher rein gar nichts mit QImage gemacht. Aber vielleicht Hilft's dir weiter.

MfG, Alci.
Quine
Beiträge: 3
Registriert: 6. April 2006 10:59

Beitrag von Quine »

Hallo Alci,

erstmal herzlichen Dank für Deine Mühe! Ich habe es gestern sofort ausprobiert und nach ein wenig Bastelei es auch endlich hinbekommen.

Hiermit auch ein großes Lob an das ganze Forum, hier habe ich schon einiges nützliches finden können...

Bis demnächst...
Patrick
Antworten