LINUX.ORG.RU

[C/C++] Как отрисовать HTML в картинку


0

1

Причем самое важное - как это сделать без запущенных Х-ов?, если у кого-то есть пример( ссылка на документацию ) использования какой-либо библиотеки для этих целей( webkit, gecko etc. ) без необходимости в запущенном графическом окружении - плз поделитесь

★★★★
Ответ на: комментарий от KRoN73

спасибо огромное - буду читать

lester ★★★★
() автор топика

Как-то так.

from PyQt4.QtCore import *
from PyQt4.QtGui import *
import sys

app=QApplication(sys.argv, False)

w=640
h=480
doc = QTextDocument()
doc.setHtml("<html><head></head><body>hello</body></html>")
pix = QImage(w, h, QImage.Format_RGB32)
painter = QPainter()
painter.begin(pix)
doc.drawContents(painter)
painter.end()
pix.save("1.png")
print "done"
Reset ★★★★★
()
Ответ на: комментарий от Reset

>Вызови что-нибудь типа pix.fill(QColor(0x708080))

Так он HTML сам корректно не рисует? (background в CSS задан)?

...

И как его по-русски заставить работать? А то в latin1 рисует.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

> Так он HTML сам корректно не рисует? (background в CSS задан)?

Для сложного html использовать не QDocument, а какой-нибудь QWebView. В документации указано подмножество html, которое обрабатывается QDocument'ом.

> И как его по-русски заставить работать? А то в latin1 рисует.

doc.setHtml(QString.fromUtf8("<html><head></head><body>ййй hello</body></html>"))

Reset ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.