Pregunta

¿Cómo convertir / pintar un QGraphicsTextItem en un QPixmap?

¿Fue útil?

Solución

Puede agregarlo a una QGraphicsScene (si no está ya dentro de uno) y luego render() la escena a un QPixmap utilizando un QPainter

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

O bien, puede ahorrarse el trabajo y sólo tiene que utilizar QPainter::drawText() después de cambiar la fuente actual del pintor. debe proporcionar las mismas capacidades.

Tal vez algo como esto -

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

Otros consejos

El documento QGraphicsTextItem :: () es la puerta de atrás que está buscando:

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

QPainter tmpPainter(&srcPixmap);
pItem->document()->drawContents(&tmpPainter);
tmpPainter.end()
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top