text mit HTML als Bild generieren
Verfasst: 28. August 2012 10:49
Hallo,
ich hätte folgendes Anliegen:
ich möchte ein Programm schreiben, dass einen Text (mit HTML) entgegennimmt und diesen entsprechend der HTML Formatierung auf ein Bild der vorgegebenen Größe überträgt. Ich bin mittlerweile so weit, dass ich mit QPainter ein QImage erstellen kann, was alle Anforderungen erfüllt, außer jene Tatsache mit HTML. Bisher kann ich mit painter.drawText(.....) den Text wunderbar positionieren, Allerdings sollten einzelne Wörter unterschiedliche Farben haben.
Ein Lösungsansatz wäre QTextDocument, was aber relativ schlecht geht, da es hier nur ein einzige Funktion gibt, nämlich
diese Funktion ist aber relativ zum vergessen, da es keine Möglichkeit gibt, um den Text zu positionieren. Die Funktion scheint relativ unflexibel zu sein, da der Inhalt vom QTextDocument beim zu rendernden Bild grundsätzlich rechts oben positioniert wird (obwohl das bei mir ausdrücklich nicht gewünscht wird). Außerdem gibt es keine sinnvolle Methode um die Größe der Ausgabe zu erhalten. Ich hätte jedoch gern, dass der eingegebene HTML-Text zentriert auf einem QImage-Formular an der entsprechenden Position zentriert dargestellt wird.
Ich bitte um Vorschläge?
PS.: grundsätzlich ist HTML nicht nötig, falls es einen brauchbaren Ersatz gibt. Ich bräuchte theoretisch nur fett, kursiv, unterstrichen, durchgestrichen, freie farbwahl und font-face. Allerdings ist wichtig: diese Attribute sollten sich nicht nur auf den Gesamttext beziehen, sondern auch einzelne Wörter oder Sätzer hervorheben können.
ich hätte folgendes Anliegen:
ich möchte ein Programm schreiben, dass einen Text (mit HTML) entgegennimmt und diesen entsprechend der HTML Formatierung auf ein Bild der vorgegebenen Größe überträgt. Ich bin mittlerweile so weit, dass ich mit QPainter ein QImage erstellen kann, was alle Anforderungen erfüllt, außer jene Tatsache mit HTML. Bisher kann ich mit painter.drawText(.....) den Text wunderbar positionieren, Allerdings sollten einzelne Wörter unterschiedliche Farben haben.
Ein Lösungsansatz wäre QTextDocument, was aber relativ schlecht geht, da es hier nur ein einzige Funktion gibt, nämlich
Code: Alles auswählen
void drawContents ( QPainter * p, const QRectF & rect = QRectF() )Ich bitte um Vorschläge?
PS.: grundsätzlich ist HTML nicht nötig, falls es einen brauchbaren Ersatz gibt. Ich bräuchte theoretisch nur fett, kursiv, unterstrichen, durchgestrichen, freie farbwahl und font-face. Allerdings ist wichtig: diese Attribute sollten sich nicht nur auf den Gesamttext beziehen, sondern auch einzelne Wörter oder Sätzer hervorheben können.