text mit HTML als Bild generieren

Alles rund um die Programmierung mit Qt
Antworten
jw202
Beiträge: 36
Registriert: 6. August 2012 22:25

text mit HTML als Bild generieren

Beitrag von jw202 »

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

Code: Alles auswählen

void drawContents ( QPainter * p, const QRectF & rect = QRectF() )
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.
conan2011
Beiträge: 15
Registriert: 18. Januar 2010 10:21

Re: text mit HTML als Bild generieren

Beitrag von conan2011 »

Bevor du einen eigenen HTML-Interpreter implementierst, hast du dir schonmal die Klasse QWebKit angeschaut?
Never argue with an idiot,
he drags you down to his level,
and beats you with experience!
jw202
Beiträge: 36
Registriert: 6. August 2012 22:25

Re: text mit HTML als Bild generieren

Beitrag von jw202 »

hey, danke für die gute Idee. Ich arbeite schon daran

Momentan existiert ein neues Problem. Wenn ich den HTML rendere, dann geht der Text über die Größe der QWebView hinaus. Wie kann ich einstellen, wie groß die Seite ist?


LG
Antworten