[C con Clase] SDL2 Salvar pantalla como bmp

Borja Ilundain borjailundain en gmail.com
Mar Nov 19 23:43:42 CET 2013


Pues la verdad es que a mí en Windows Vista de 64 bits tampoco me funciona
tu código.
Puede que haya algún problema con los sistemas de 64 bits en SDL 2.0 y tal
vez no soporten todas las funciones al 100%...
De todas formas, hay algo que no entiendo: ¿Por qué utilizas la función
SDL_SetRenderTarget? En principio esa función sirve para que las
operaciones de renderizado se realicen directamente sobre una textura (que
tiene que tener el tipo de acceso SDL_TEXTUREACCESS_TARGET) en vez de sobre
la ventana o vuelva a realizarse sobre la ventana (pasando como segundo
parámetro NULL), así que lo que creo que haces es establecer la textura
como objetivo de renderizado, aunque no dibujas nada sobre ella ni realizas
ninguna operación que requiera usar el renderer, y luego vuelves a pasar el
renderizado a la ventana. En mi opinión esa parte del código no es
necesaria...
Habrá que seguir investigando, a ver si damos con algún código funcional.
Le he hecho una pequeña optimización al mío, ahora es más rápido y requiere
menos memoria, aunque sigue recurriendo a la función SDL_RenderReadPixels,
que según los desarrolladores no se recomienda mucho por ser bastante
lenta, aquí lo dejo:

/* Líneas de código para salvar capturas de pantalla en SDL 2.0 */
    SDL_Surface* screen=
SDL_CreateRGBSurface(0,DEF_WIDTH,DEF_HEIGHT,32,0,0,0,0);
    SDL_RenderReadPixels(renderer,NULL,0,screen->pixels,screen->pitch);
    SDL_SaveBMP(screen,"pantallazo.bmp");
    SDL_FreeSurface(screen);

Un saludo!


2013/11/19 Hl3 <halowin3 en gmail.com>

>
>
> !!! INCREIBLE PERO CIERTO !!!!
>
> EN WINDOWS 8 64bits NO FUNCIONA.
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20131119/ad22f523/attachment.html>


Más información sobre la lista de distribución Cconclase