tomar plus pantalla moto mac kali hacer como captura c++ c linux screenshot x11

c++ - plus - El método más rápido para la captura de pantalla en Linux



como tomar captura de pantalla (7)

Esto es posible utilizando VirtualGL en un servidor con aceleración de hardware. Básicamente, simplemente configure el servidor de manera apropiada, luego en la misma máquina o en una máquina en la misma red, ejecute

export DISPLAY=<your xvfb display> vglrun <your_app>

Esto tendrá las siguientes ventajas:

1) su aplicación se renderizará usando virtualGL, que usará el hardware

2) VirtualGL mostrará su contexto 3D dentro de la pantalla Xfvb, que solo mostrará los widgets 2D en la CPU

3) configura Xvfb para renderizar a un framebuffer

4) ganancia!

Esta pregunta es similar a esta

El método más rápido de captura de pantalla

pero para Linux / X11.

Para ser más específico, necesito un método para capturar las imágenes de píxeles de una ventana (el equivalente programático de alt-print screen en windows) que se ejecuta en un diplay X11.

Notas y requisitos:

1) Incluso si se coloca una nueva ventana en la parte superior de la ventana que se está capturando, la imagen de píxel aún debe apuntar a la ventana de la aplicación original sin ninguna oclusión

2) no es necesario que la ventana de la aplicación sea vista por el usuario, solo necesito almacenar los píxeles de imágenes / imágenes para fines de video

Otras alternativas que he explorado son:

1) xvfb: funciona pero sí hace la representación de la CPU, que es lenta y desperdicia una buena GPU

2) x11 dentro de muchos lxc: teóricamente podría funcionar pero es complejo de configurar, y no estoy seguro de que se pueda escalar bien con muchas ventanas capturadas

sugerencias e ideas son bienvenidas


Esto es solo una suposición descabellada, pero supongo que podría usar x11vnc con la opción -id [windowid] (http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-id) para transmitir esa única ventana a través de VNC . Esto le mostrará toda la ventana, con el mismo posicionamiento exacto que en la pantalla principal (puede perder algunos menús emergentes), incluso cuando está cubierta. Puede obtener las coordenadas de la ventana desde la verdadera pantalla X11.


Esto no es posible con X11 puro.

Puede obtener lo que desea con la composición, pero solo en los servidores que lo admiten (la mayoría de los modernos lo hacen). Esto en realidad no tiene nada que ver con los gestores de ventanas. Un WM es solo otro cliente, aunque con algunas habilidades especiales, pero esas no están relacionadas con la composición. Puedes usar la misma API de composición.

man xcomposite debe empezar.


Lo que puede hacer con un truco difícil en su red local es usar la capacidad del control remoto X, abrir su puerto de escucha X y luego usar env var para configurar la exportación al puerto de escucha X y luego usar XscreenCapture


Puede usar xwd(1) para volcar una ventana X11 (y xwud(1) para mostrarla). ImageMagick y las herramientas de Netpbm saben cómo manejar el formato XWD. Pero estos no son especialmente rápidos. Y no revelarán porciones ocultas de una ventana.


Tomaría las fuentes de gnome-screenshot , o alguna otra herramienta de código abierto existente, y averiguaría cómo lo hacen.

Puede encontrar las fuentes que usa Ubuntu aquí: http://packages.ubuntu.com/quantal/gnome-screenshot

Pero, ¡no olvide revisar la licencia antes de cortar y pegar grandes secciones de código!


Xpaint es una utilidad X11 muy antigua creada utilizando el conjunto de widgets Athena del MIT. Archivo> Tomar instantánea tomará una ventana o un rectángulo seleccionado por el mouse desde la pantalla.

O

MagiCapture es una utilidad de captura de pantalla y vista previa para el sistema X Window. Un usuario puede capturar una sola ventana, una sola ventana con decoraciones, una región rectangular de la pantalla o toda la pantalla. El usuario puede guardar la imagen capturada en un archivo de gráficos compatible con el kit de herramientas de ImageMagick, que admite la mayoría de los formatos de gráficos populares (si no todos). MagiCapture utiliza las bibliotecas GLIB y GTK + para la interfaz de usuario y las bibliotecas ImageMagick y GdkMagick para todo el procesamiento de gráficos. Requiere ImageMagick.

O

Zscreen : esta aplicación de captura de pantalla solo para Windows tiene muchas características. Toma una foto de la ventana activa, una ventana seleccionada o toda la pantalla. Una vez que tenga la imagen, ábrala automáticamente en su editor de imágenes o cárguela en Twitpic, YFrog, Flickr o en alguno de los otros servicios compatibles. ZScreen almacena en caché todas sus imágenes, incluso las que se encuentran en el portapapeles, por lo que siempre hay un historial de sus capturas de pantalla al alcance de su mano.