QPixmap de um QGraphicsTextItem
-
12-09-2019 - |
Pergunta
Como você converter / pintar um QGraphicsTextItem em um QPixmap?
Solução
Você pode adicioná-lo a um QGraphicsScene
(se já não estiver dentro de um) e depois render()
a cena a um QPixmap
usando um QPainter
QPixmap pix(100, 100);
QPainter paint(&pix);
scene.render(&paint);
Ou, você pode salvar o problema e usar apenas QPainter::drawText()
depois de alterar o tipo de letra actual do pintor. ele deve fornecer as mesmas capacidades.
Talvez algo como isso -
QPixmap pix(100, 100);
QPainter paint(&pix);
paint.drawText(0, 0, "Hello World");
Outras dicas
O QGraphicsTextItem :: documento () função é a porta de trás que você está procurando:
// pItem is a QGraphicsTextItem *
QPixmap srcPixmap(pItem->boundingRect().size().toSize());
QPainter tmpPainter(&srcPixmap);
pItem->document()->drawContents(&tmpPainter);
tmpPainter.end()
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow