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

Alles rund um die Programmierung mit Qt
Antworten
Davidave
Beiträge: 33
Registriert: 26. Februar 2005 17:26

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

Beitrag 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!
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Welche Qt Version benutzt du? Bei einigen älteren Versionen geht das nicht wirklich.
Davidave
Beiträge: 33
Registriert: 26. Februar 2005 17:26

Beitrag 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.
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag 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.
Davidave
Beiträge: 33
Registriert: 26. Februar 2005 17:26

Es geht nicht

Beitrag 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?
lepsai
Beiträge: 573
Registriert: 14. September 2004 21:33
Wohnort: Berlin
Kontaktdaten:

Beitrag von lepsai »

Was willst du eigentlich mit dem Bild erreichen? Wo soll es dargestellt werden? Warum wird QLabel verwendet?
Davidave
Beiträge: 33
Registriert: 26. Februar 2005 17:26

Problem gelöst.

Beitrag 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!
Antworten