سؤال

كيف يمكنك تحويل / ترسم QGRAPHICSTEXTEM في 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");

نصائح أخرى

وظيفة QGRAPHICSTEXTEM :: 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