Alles rund um die Programmierung mit Qt
jack
Beiträge: 10 Registriert: 15. Januar 2005 13:48
Beitrag
von jack » 31. Mai 2010 12:08
Hallo zusammen,
folgendes habe ich vor.
Ich möchte eine svg-Datei laden und dann gezielt einzelne Objekte (über die ID) manipulieren, z.B. die Farbe oder den Text ändern.
Ich bin fest der Meinung das es geht, finde aber nichts.
Gruß
Harry
Troll.Soft
Beiträge: 190 Registriert: 18. Juni 2008 09:52
Wohnort: Hamburg
Beitrag
von Troll.Soft » 1. Juni 2010 15:22
SVG ist Text, also im Notfall kannst Du mit QString.replace() arbeiten.
tschüß
Troll.Soft
upsala
Beiträge: 3946 Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:
Beitrag
von upsala » 1. Juni 2010 15:27
SVG ist XML als kann man mit einen QDomDocument arbeiten...
Troll.Soft
Beiträge: 190 Registriert: 18. Juni 2008 09:52
Wohnort: Hamburg
Beitrag
von Troll.Soft » 1. Juni 2010 16:37
upsala hat geschrieben: SVG ist XML als kann man mit einen QDomDocument arbeiten...
Danke für den Tip, da ich irgendwann auch mal SVG bearbeiten will.
tschüß
Troll.Soft
jack
Beiträge: 10 Registriert: 15. Januar 2005 13:48
Beitrag
von jack » 1. Juni 2010 17:02
Das ist mir schon bewusst, ist auch der Weg den ich aktuell
schon gehe.
Ich möchte mich aber die einzelnen Objekte aus der
SVG als ein QGraphicsItem-Objekt ansprechen und
manipulier.
Das muss doch auch gehen, oder ?????
Gruß
Harry
upsala
Beiträge: 3946 Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:
Beitrag
von upsala » 1. Juni 2010 17:32
Nein, das ist nicht möglich.
jack
Beiträge: 10 Registriert: 15. Januar 2005 13:48
Beitrag
von jack » 1. Juni 2010 17:39
Danke erstmal,
weist du auch warum das nicht geht ?
Wandelt Qt eine SVG-Datei nicht in einzelne QGraphicsItem-Objekte um ?
Gruß
Harry
franzf
Beiträge: 3114 Registriert: 31. Mai 2006 11:15
Beitrag
von franzf » 1. Juni 2010 17:47
jack hat geschrieben: Wandelt Qt eine SVG-Datei nicht in einzelne QGraphicsItem-Objekte um ?
Nein, QGraphicsSvgItem verwendet diekt einen QSvgRenderer, dieser zeichnet direkt auf einen QPainter.
jack
Beiträge: 10 Registriert: 15. Januar 2005 13:48
Beitrag
von jack » 1. Juni 2010 18:41
Danke,
gibt es einen anderen weg, um einzelne Objekt aus einem Bild zu manipulieren ?
Bei png-Dateien gibt es keine Objekte und Ebenen mehr.
Gruß
Harry
Troll.Soft
Beiträge: 190 Registriert: 18. Juni 2008 09:52
Wohnort: Hamburg
Beitrag
von Troll.Soft » 1. Juni 2010 18:48
jack hat geschrieben: Ich möchte mich aber die einzelnen Objekte aus der
SVG als ein QGraphicsItem-Objekt ansprechen und
manipulier.
Das muss doch auch gehen, oder ?????
Object aus SVG-Datei mittels Document-Methode rauslösen, eine gültige SVG-Datei daraus machen, diese rendern und Du hast ein Pixmap.
tschüß
Troll.Soft
jack
Beiträge: 10 Registriert: 15. Januar 2005 13:48
Beitrag
von jack » 3. Juni 2010 20:05
Vielen Dank.