Domanda

Come si fa a convertire / dipingere un QGraphicsTextItem in una QPixmap?

È stato utile?

Soluzione

È possibile aggiungerlo a una QGraphicsScene (se non è già all'interno di uno) e poi render() la scena ad un QPixmap utilizzando un QPainter

QPixmap pix(100, 100);
QPainter paint(&pix);
scene.render(&paint);

In alternativa, è possibile salvare la fatica e basta usare QPainter::drawText() dopo aver cambiato il carattere corrente del pittore. dovrebbe fornire le stesse capacità.

Forse qualcosa di simile -

QPixmap pix(100, 100);
QPainter paint(&pix);
paint.drawText(0, 0, "Hello World");

Altri suggerimenti

Il QGraphicsTextItem :: documento () è la porta sul retro che stai cercando:

// pItem is a QGraphicsTextItem *
QPixmap srcPixmap(pItem->boundingRect().size().toSize());

QPainter tmpPainter(&srcPixmap);
pItem->document()->drawContents(&tmpPainter);
tmpPainter.end()
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top