• Martes 16 de Abril de 2024, 19:11

Autor Tema:  Capturar Pantalla  (Leído 1917 veces)

Karkayu

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Capturar Pantalla
« en: Lunes 24 de Marzo de 2008, 00:02 »
0
Hola a todos:

A ver si alguno puede orientarme. Necesito implementar la típica opción de que, al pulsar una tecla, se me vuelque la escena que se esta visualizando en un fichero .jpg (o .bmp) ¿Como lo hacéis vosotros? ¿existe alguna librería para ello?

Yo habia pensado en volcar el contenido del framebuffer, pero me genera archivos  .raw y yo necesito algo mas estandar.

Uso C y Glut, bajo Linux ¿Alguna idea?

Un saludo

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Capturar Pantalla
« Respuesta #1 en: Lunes 24 de Marzo de 2008, 17:12 »
0
Hay mas de una forma (como usar SDL).
Este tutorial te ayudara.
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

Karkayu

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Capturar Pantalla
« Respuesta #2 en: Martes 25 de Marzo de 2008, 11:55 »
0
Cita de: "su -"
Hay mas de una forma (como usar SDL).
Este tutorial te ayudara.
Gracias por tu respuesta!!!  B)

El tutorial ese ya lo había visto (visito mucho esa página), pero mi intención es no usar SDL. Me han comentado que existen unas librerías llamadas ¿Corona? que sirven para lo que quiero hacer. Sin embargo, no he encontrado mucho sobre el tema. ¿Alguien sabe algo?

De todas formas, y dado ando unpoco excaso de tiempo y que la aplicación solo se va a ejecutar en ordenadores con X-Windows, estoy viendo que terminare por hacer una chapuza (tipo llamada al comando XWD con system o algo similar)  <_<

Un saludo y gracias otra vez

Karkayu

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Capturar Pantalla
« Respuesta #3 en: Jueves 27 de Marzo de 2008, 10:32 »
0
Ya esta resuelto y de una forma mas o menos correcta  :)

Para ello he usado la librería netpbm que viene ya instalada en linux (si no esta instalada usas el apt-get o el gestor de paquetes que use tu distro).

Luego, para capturar la pantalla, construimos una funcion que realice llamas con system de la siguiente forma:

xwd -root -screen -out captura  //Obtenemos formato grafico nativo .xwd
xwdtopnm captura > captura.pnm //Pasamos a pnm
pnm2png captura.pnm > captura.png //Obtenemos un formato mas estandar .png


Aparte habría que controlar que cada captura tuviese un nombre diferente (añadiendole al final un numero pej) y borrar los ficheros .xwd y .pnm que se crean durante el proceso.

Con este método podemos capturar en cualquier escritorio X-Windows

Un saludo