-
Une façon serait d'obtenir une capture d'écran depuis votre application, en lisant le contenu du tampon arrière avec
glReadPixels()
. Ou utilisez QQuickWindow::grabWindow(), qui utilise en interneglReadPixels()
dans le bon sens. Cela ne semble pas être une option pour vous, car vous devez prendre une capture d'écran lorsque l'application Qt est gelée. -
L'autre façon serait d'utiliser l'API DRM pour mapper le framebuffer, puis
memcpy
les pixels mappés. Ceci est implémenté dans Chromium OS avec Python et peut être facilement traduit en C, voir https://chromium-review.googlesource.com/c/chromiumos/platform/factory/+/367611. L'API DRM peut également être utilisée par un autre processus que le processus Qt UI qui effectue le rendu.
Comment faire des captures d'écran sur Ubuntu