SoloCodigo

Programación Específica => Programación de Videojuegos => OpenGL => Mensaje iniciado por: Perla_kiko en Lunes 5 de Julio de 2004, 13:07

Título: Imprimir Pantalla
Publicado por: Perla_kiko en Lunes 5 de Julio de 2004, 13:07
Buenas, necesito imprimir desde código  lo dibujado en una pantalla de OpenGL, alguien me puede ayudar
Título: Re: Imprimir Pantalla
Publicado por: Ruben3d en Lunes 5 de Julio de 2004, 14:46
Cuando dices imprimir, ¿te refieres a sacarlo por la impresora?
Título: Re: Imprimir Pantalla
Publicado por: Perla_kiko en Martes 6 de Julio de 2004, 13:32
Si quiero decir eso mismo ha sacarlo en papel por la impresora!
Título: Re: Imprimir Pantalla
Publicado por: Ruben3d en Martes 6 de Julio de 2004, 16:03
Pues ni idea de cómo usar la impresora. Eso prueba a preguntarlo en el foro de C/C++. Si quieres te puedo decir cómo obtener la imagen, pero imprimirla ya es otra cosa.

Un saludo.

Ruben3d
Título: Re: Imprimir Pantalla
Publicado por: Perla_kiko en Jueves 8 de Julio de 2004, 12:21
ok dime como obtener la imagen!
Título: Re: Imprimir Pantalla
Publicado por: Ruben3d en Viernes 9 de Julio de 2004, 13:24
Código: Text
  1.  
  2. int bufsize = width * height * 4;
  3. GLubyte* rgbaBuffer = new GLubyte[bufsize];
  4. glDisable(GL_TEXTURE_2D);
  5. glReadPixels ( 0, 0, (GLsizei)width, (GLsizei)height, GL_RGBA, GL_UNSIGNED_BYTE, (GLubyte*)rgbaBuffer);
  6.  
  7.  

Este código guarda en rgbaBuffer lo que haya en el buffer de color. Cada píxel son 4 unsigned char: rojo, verde, azul y canal alfa. Con esto ya puedes hacer lo que quieras: puedes guardarlo en disco en algún formato, y luego abrirlo con un programa gráfico e imprimirlo, o cualquier otro tratamiento que se te ocurra.

Un saludo.

Ruben3d