[C con Clase] SDL2 Salvar pantalla como bmp
Hl3
halowin3 en gmail.com
Mie Nov 20 08:58:13 CET 2013
Hola.
Pues tienes razón, eso del rendertarget no pinta nada ahi.
Ya encontré la solucion, me funciona en Wxp y W7-64 y W8-64.
//*******************************
SDL_Window *win = SDL_CreateWindow("salvando pantalla", 100,100, SCREEN_WIDTH, SCREEN_HEIGHT, 0 );
SDL_Renderer *ren = SDL_CreateRenderer(win, -1, SDL_RENDERER_SOFTWARE );
SDL_Surface *img = DL_CreateRGBSurface(0,SCREEN_WIDTH,SCREEN_HEIGHT,32,0,0,0,0);
img = IMG_Load("algo.png");
SDL_Texture *tex = SDL_CreateTextureFromSurface(ren, img);
SDL_Rect ori = img->clip_rect ;
SDL_Rect des ={ 250,200,img->w, img->h };
SDL_RenderCopy(ren, tex, NULL, &des );
// ************* SALVANDO EL RESULTADO *************************
SDL_Surface* salvapantalla = SDL_GetWindowSurface( win );
SDL_SaveBMP( salvapantalla, "salvado.bmp");
SDL_FreeSurface(salvapantalla);
//****************************************************************
...
...
...
Hasta que no he puesto en la creacion del renderer el flag
SDL_RENDERER_SOFTWARE
no ha funcionado.
Un saludo
Más información sobre la lista de distribución Cconclase