Seite 1 von 1

QGraphicsSvgItem skalieren

Verfasst: 24. November 2010 10:38
von Bugi
Hallo,

ich muss ein svg bildchen in Rechteck(QGraphicsItem) einfügen. Dafür habe ich eine Klasse geschrieben, die aus QGraphicsSvgItem abgeleitet ist. Nun möchte ich das bildchen in einer bestimmten Größe im Rechteck gezeichnet wird. Dazu rechnete ich ein skalierungfaktor wie folgt.

hscale = sollHeight / (boundingrect von svgItem).height;
wscale = sollWidth / (boundingrect von svgItem).width;

Mit diesen Skalierungsfaktoren habe ich die Transformationsmatrix von svgItem korrigiert. Aber dann ist das bildchen zu klein. Was mache ich beim skalieren falsch? Oder Wie kann ich anders machen?

Vielen herzlichen Dank im Voraus!

Gruß Bugi

Re: QGraphicsSvgItem skalieren

Verfasst: 25. November 2010 10:38
von franzf
Bugi hat geschrieben:Dafür habe ich eine Klasse geschrieben, die aus QGraphicsSvgItem abgeleitet ist.
Kannst du diese Entscheidung begründen? Du änderst am Verhalten von QGraphicsSvgItem nichts. Das Vorhaben lässt sich mit der public-API umsetzen.

Zum Problem kann man nicht wirklich was sagen. Könntest du bitte tatsächlich verwendeten, relevanten Code - am besten in Form eines kompilierbaren Minimalbeispieles - posten?

Verfasst: 25. November 2010 15:21
von Bugi
Hallo franzf,

vielen Dank für deine Antwort. Du hast völlig Recht zu der Programmstruktur bzgl der abgeleiteten Klasse.
Bei mir hat es sich herausgestellt, dass die svg Dateien nicht richtig generiert wurden und somit sehr klein waren.
Ich habe dann ganz normal QGraphicsSvgItem genommen und skaliert funktioniert wunderbar :-)


Gruß Bugi.