-
Una forma sería obtener una captura de pantalla desde su aplicación, leyendo el contenido del búfer posterior con
glReadPixels()
. O use QQuickWindow::grabWindow(), que internamente usaglReadPixels()
de la manera correcta. Parece que esta no es una opción para usted, ya que necesita tomar una captura de pantalla cuando la aplicación Qt está congelada. -
La otra forma sería usar la API DRM para mapear el framebuffer y luego
memcpy
los píxeles mapeados. Esto se implementa en Chromium OS con Python y se puede traducir a C fácilmente, consulte https://chromium-review.googlesource.com/c/chromiumos/platform/factory/+/367611. La API DRM también puede ser utilizada por otro proceso que no sea el proceso Qt UI que realiza la representación.
Cómo tomar capturas de pantalla en Ubuntu