QPixmap in XML-Datei speichern?
QPixmap in XML-Datei speichern?
Ich möchte ein QPixmap in eine Xml-Datei mittels QXmlStreamWriter speichern. CDATA-Konstrukte werden über writeCDATA( const QString ) übergeben. Ich muss mein QPixmap-Objekt also zuvor in einen String umformen:
QVariant var= myQPixmap;
Habe dann versucht, das QVariant per QVariant.toString() an writeCDATA zu übergeben.
Es stellte sich heraus, dass das Programm nur eine leere CDATA-Sequenz in der Datei ablegt. Der Fehler muss also schon bei der QVariant-Umformung geschehen sein. QPixmap stellt aber ausdrücklich einen "Zitat: operator QVariant() const" zur Verfügung.
Was mache ich falsch? Gibt es einen geschickteren Weg?
[/b]
QVariant var= myQPixmap;
Habe dann versucht, das QVariant per QVariant.toString() an writeCDATA zu übergeben.
Es stellte sich heraus, dass das Programm nur eine leere CDATA-Sequenz in der Datei ablegt. Der Fehler muss also schon bei der QVariant-Umformung geschehen sein. QPixmap stellt aber ausdrücklich einen "Zitat: operator QVariant() const" zur Verfügung.
Was mache ich falsch? Gibt es einen geschickteren Weg?
[/b]
-
PeterLustig
- Beiträge: 386
- Registriert: 21. November 2007 20:07
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Wuerd ich von der Art der bilder abhaengig machen ...Ggf. nicht direkt als QPixmap sondern als jpeg oder so.
jpeg lohnt sich nur, bei groesseren bildern / fotografien ...
Die in nen XML zu pappen halt ich eh fuer gewagt, was ned heisst das es ned gehen wuerd ^^
Denk mal es handelt sich eher um kleine grafiken ... eher symbole / pictogramme. Da wuerd ich png empfehlen ... macht die wenigsten probs. dafuer iss der platzverbrauch groesser ... aber wer sowas in nem xml speichern will, hat primaer eh andere sorgen ...
base64 ist nicht nur ideal, sondern grad dafuer gemacht, um bytefolgen in darstellbare ASCII zeichen zu expandieren .... da XML nix anderes akzeptiert, bist eh auf sowas angewiesen. Sich selber da was zu ueberlegen waer das rad neu erfinden ...
Ciao ..
Erstmal Danke für die Beiträge.
Ich komme aber irgendwie nicht weiter. Wie bekomme ich die Daten in ein QByteArray? Die Umformung nachBase64 kann ausserdem doch erst erfolgen, denn ich die Daten schon im QByteArray habe.
Der Aufruf der Funktion "operator QVariant()" in QPixmap und QImage sind auch nicht weiter erläutert.
Ich komme aber irgendwie nicht weiter. Wie bekomme ich die Daten in ein QByteArray? Die Umformung nachBase64 kann ausserdem doch erst erfolgen, denn ich die Daten schon im QByteArray habe.
Der Aufruf der Funktion "operator QVariant()" in QPixmap und QImage sind auch nicht weiter erläutert.
-
ConfusedSushi
- Beiträge: 57
- Registriert: 18. Januar 2008 16:46
- Wohnort: Berlin
-
ConfusedSushi
- Beiträge: 57
- Registriert: 18. Januar 2008 16:46
- Wohnort: Berlin
-
ConfusedSushi
- Beiträge: 57
- Registriert: 18. Januar 2008 16:46
- Wohnort: Berlin
-
ConfusedSushi
- Beiträge: 57
- Registriert: 18. Januar 2008 16:46
- Wohnort: Berlin