LINUX.ORG.RU

История изменений

Исправление 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, чтобы ссграббить его в этот момент.. ну не граббить же периодически...

ЗЫ: Мож кто занимался этой темой?