История изменений
Исправление kuzulis, (текущая версия) :
Подниму тему, наконец то дошли руки, попробовал, и вот, что получается:
1. fbo.toImage() - оочень медленный, у меня заняло ~24 мсек чтобы преобразовать в картинку 800х600. так дело не пойдет...
2. непонятно как отследить момент «перерисовки» целевого item, чтобы сграббить его в этот момент.. ну не граббить же периодически...
ЗЫ: Мож кто занимался этой темой?
PS: На виджетах оно быстро и просто делается:
bool MyWidget::event(QEvent *event)
{
if (event->type() == QEvent::UpdateRequest)
myGrab();
return QWidget::event(event);
}
void MyWidget::myGrab()
{
...
QBackingStore *store = backingStore();
Q_ASSERT(store);
QPaintDevice *pdev = store->paintDevice();
const auto image = dynamic_cast<QImage *>(pdev);
...
}
а вот, с qml/opengl прям какой-то трабл... :(
Исправление kuzulis, :
Подниму тему, наконец то дошли руки, попробовал, и вот, что получается:
1. fbo.toImage() - оочень медленный, у меня заняло ~24 мсек чтобы преобразовать в картинку 800х600. так дело не пойдет...
2. непонятно как отследить момент «перерисовки» целевого item, чтобы сграббить его в этот момент.. ну не граббить же периодически...
ЗЫ: Мож кто занимался этой темой?
PS: На виджетах оно быстро и просто делается:
bool MyWidget::event(QEvent *event)
{
if (event->type() == QEvent::UpdateRequest)
myGrab();
return QWidget::event(event);
}
void MyWidget::myGrab()
{
...
QBackingStore *store = backingStore();
Q_ASSERT(store);
QPaintDevice *pdev = store->paintDevice();
const auto image = dynamic_cast<QImage *>(pdev);
...
}
а вот, с qml прям какой-то трабл... :(
Исходная версия kuzulis, :
Подниму тему, наконец то дошли руки, попробовал, и вот, что получается:
1. fbo.toImage() - оочень медленный, у меня заняло ~24 мсек чтобы преобразовать в картинку 800х600. так дело не пойдет...
2. непонятно как отследить момент «перерисовки» целевого item, чтобы ссграббить его в этот момент.. ну не граббить же периодически...
ЗЫ: Мож кто занимался этой темой?