Seite 1 von 1

[gelöst] Bild zoomen, wie geht das?

Verfasst: 14. April 2005 17:08
von Davidave
Hallo liebe QTGemeinde.
Ich habe leider keine Einträge gefunden, die mir mein Problem konkret lösen:

Ich habe ein QLabel, was mit setPixmap mit einem Bild gefüllt werden soll.
Dieses Label befindet sich in einem QScrollView.

Zuerst lade ich mir ein Bild (etwa 600,500) in ein QImage, dann möchte ich das Image mit zB scale(1000,1000) auf eine beliebige Größe strecken.

Wandel ich das Bild dann in eine Pixmap um und lade wiederum die Map in mein Label vergrößert sich zwar der Bereich in der Scrollview auf 1000,1000 aber das Bild bleibt oben links in der Ecke auf Originalgröße.
Ich möchte aber das es auf die neue Größe gestreckt wird.

Mache ich da grundlegend was falsch?

QPixmap test;
test = image.scale(1000,1000);
this->setPixmap(test);

Gruß und Dank!

Verfasst: 14. April 2005 19:00
von FlorianBecker
Welche Qt Version benutzt du? Bei einigen älteren Versionen geht das nicht wirklich.

Verfasst: 15. April 2005 11:16
von Davidave
Ich weiss nicht genau, wie ich das herausbekomme :?
Nutze die QTVersion aus der Installation von SUSE 9.2, falls das weiterhelfen könnte.

Verfasst: 15. April 2005 11:24
von FlorianBecker
Im Designer z.B. den About Qt Dialog ansehen. Aber suse 9.2 sollte qt333 sein.

Naja, wenn das so nicht geht, poste mal den Code oder vergleiche evtl. gleich den Code mit einem Example von Qt (da gibts bestimmt eins).

Soweit ich weiss, hat hier schmal jmd. eine ähnliche Frage gehabt, bei Ihm schien die Vergrößerung zu funktionieren, lediglich das Zoomen der Leiste nicht, oder so ähnlich. Vielleicht hilft die der Beitrag ja auch entschieden weiter.

Es geht nicht

Verfasst: 17. April 2005 17:58
von Davidave
Hallo nochmal.
Habe es nicht geschafft.

Der Code sieht in etwa aus wie oben geschrieben:

// bild ist mein Bild in QImage geladen.
// alles soll in this (ist ein QLabel) angezeigt werden.

Pixmap PM;
PM = bild.scale(1000,1000);
this->setPixmap(PM);

Viel mehr ist das nicht.
Ich habe etwas ähnliches so hinbekommen, nämlich indem ich mir einen Teil aus einem Bild grabbe und auf ein größeres Pixmap scale.

Hier wird aber zwar das Label, in das ich PM setze (setPixmap) zwar 1000x1000 groß aber das Bild wird nicht auf diese Größe gestreckt sondern bleibt wie oben schon erklärt gleichgroß.
Kann mir wer sagen, wo mein Fehler liegt?

Verfasst: 13. Mai 2005 15:14
von lepsai
Was willst du eigentlich mit dem Bild erreichen? Wo soll es dargestellt werden? Warum wird QLabel verwendet?

Problem gelöst.

Verfasst: 13. Mai 2005 15:26
von Davidave
Liebe Leute.
Danke für eure Hilfe.
Ich wollte mir ein Bild in ein Label laden, das wiederrum in ein ScrollView gepackt wird.

Der Fehler hat sich bereinigen lassen.

Der Zoom klappte nicht, da ich die Paint Methode des QLabels überschrieben hatte.

Alles klar jetzt,
thx!