Frage

Wie Sie konvertieren / malen ein QGraphicsTextItem in eine QPixmap?

War es hilfreich?

Lösung

Sie es zu einem QGraphicsScene hinzufügen können (wenn es nicht bereits in einem ist) und dann die Szene zu einem render() QPixmap eine QPainter mit

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

Alternativ können Sie sich die Mühe sparen und nur QPainter::drawText() verwenden, nachdem die aktuelle Schriftart des Malers zu ändern. es sollte die gleichen Funktionen bieten.

Vielleicht so etwas wie diese -

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

Andere Tipps

Die QGraphicsTextItem :: document () Funktion ist die Hintertür Sie suchen:

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

QPainter tmpPainter(&srcPixmap);
pItem->document()->drawContents(&tmpPainter);
tmpPainter.end()
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top