#include "stdlib.h"
#include "SDL/SDL.h"
int main(int argc, char *argv[])
{
SDL_Surface *screen; //Este puntero referenciara al backbuffer
SDL_Surface *image; //Este puntero referenciara el bmp
SDL_Surface *temp; //Este puntero va a hacer referencia temporal al bmp
SDL_Rect src, dest; //Fuente y destino de el blit
//Primero se inicializan variables y se comprueba si fue exitoso
if (SDL_Init(SDL_INIT_VIDEO) != 0) {
printf("No se pudo inicializar SDL: %s\n", SDL_GetError());
return 1;
}
//
atexit(SDL_Quit);
//Inicializando variables de video , profundidad y doble buffer , ademas de pantalla completa
screen = SDL_SetVideoMode(640, 480, 16, SDL_DOUBLEBUF | SDL_FULLSCREEN);
if (screen == NULL) {
printf("No se pudo cambiar modo de video: %s\n", SDL_GetError());
return 1;
}
//Cargar el bmp a una intefaz temporal y comprobar si funciono
temp = SDL_LoadBMP("image.bmp");
if (temp == NULL) {
printf("No se pudo cargar bmp: %s\n", SDL_GetError());
return 1;
}
//Transformar interfaz a la forma adecuada
image = SDL_DisplayFormat(temp);
//Liberar interfaz temporal
SDL_FreeSurface(temp);
//Construyendo el rectangulo...
src.x = 0;
src.y = 0;
src.w = image->w; //usar image->w para mostrar el ancho de la imagen
src.h = image->h; //usar image->h para mostrar el largo
//Construyendo el rectangulo.. para la imagen
dest.x = 100; //Mostrar la imagen en las coordenadas (100,100)
dest.y = 100;
dest.w = image->w; //Asegurarse que el largo esta bien
dest.h = image->h;
//Pasar la imgen a backbuffer
SDL_BlitSurface(image, &src, screen, &dest);
//cambiar el backbuffer como principal
SDL_Flip(screen);
//Esperar 2.5 segundos para ver la imagen
SDL_Delay(2500);
//Liberar intefaz
SDL_FreeSurface(image);
//Terminar felizmente xD
return 0;
}
El caso es que instale en DevC++ con el DevPack SDL y ahora me saca errores, esto claro esta, porque necesito poner algo en el linker
¿Alguien me ayuda?
Postea los errores así lo vemos mas en detalle.
Thanks LH resuelto ;)
Todo son las dronjas! jjajja
Me alegro. Si puedes, agrega al primer post los pasos que seguiste, así otros usuarios con la misma duda tienen un punto de referencia.
Saludos
Por supuesto, LH(me recuerda siempre que pongo esto a una web en la cual estaba antes ;D )
Bueno, primero yo decidi usar esto con Dev-C++ no es mi IDE preferida ni mucho menos, pero tengo conio2, conio, allegro, openGL y SDL ahi entonces decidi ponerme otro DevPack, en esta ocasión fue el de SDL, el cual podeis encontrarlo, aquí http://devpaks.org/details.php?devpak=12
Lo instalais y luego abris DevC++ y creais un nuevo proyecto y buscais hasta encontrar SDL Project le dais creais el main.c y tal y pegais el code de arriba si os funciona todo bien, podeis llorar de alegría :D