Pergunta

Como você converter / pintar um QGraphicsTextItem em um QPixmap?

Foi útil?

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
scroll top