Вопрос

Как конвертировать/рисовать QGraphicsTextItem в QPixmap?

Это было полезно?

Решение

Вы можете добавить его в QGraphicsScene (если его еще нет внутри), а затем render() сцена в QPixmap используя QPainter

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

Или вы можете избавить себя от хлопот и просто использовать QPainter::drawText() после изменения текущего шрифта художника.он должен предоставлять те же возможности.

Может быть, что-то вроде этого-

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

Другие советы

Функция QGraphicsTextItem::document() — это черный ход, который вы ищете:

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

QPainter tmpPainter(&srcPixmap);
pItem->document()->drawContents(&tmpPainter);
tmpPainter.end()
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top