Lesson2

#ifdef __cplusplus

    #include <cstdlib>

#else

    #include <stdlib.h>

#endif



#include <SDL/SDL.h>

#include <string>

const int SCREEN_WIDTH=640;

const int SCREEN_HEIGT=480;

const int SCREEN_BPP=32;



SDL_Surface *message=NULL;

SDL_Surface *background=NULL;

SDL_Surface *screen=NULL;





SDL_Surface *load_image(std::string filename)

{

    SDL_Surface* loadedImage=NULL;

    SDL_Surface* optimizedImage=NULL;

    loadedImage=SDL_LoadBMP(filename.c_str());

    if(loadedImage!=NULL)

    {

        optimizedImage=SDL_DisplayFormat(loadedImage);



        SDL_FreeSurface(loadedImage);





    }return  optimizedImage;

}



void apply_surface(int x,int y,SDL_Surface* source,SDL_Surface* destination)

{

    SDL_Rect offset;



    offset.x=x;

    offset.y=y;



    SDL_BlitSurface(source,NULL,destination,&offset);

}

int main ( int argc, char** argv )

{

    if(SDL_Init(SDL_INIT_EVERYTHING)==-1)

    {

        return 1;



    }

    screen=SDL_SetVideoMode(SCREEN_WIDTH,SCREEN_HEIGT,SCREEN_BPP,SDL_SWSURFACE);

    SDL_WM_SetCaption("hello world",NULL);

    message=load_image("hello.bmp");

    background=load_image("background.bmp");



    apply_surface(0,0,background,screen);

         apply_surface( 320, 0, background, screen );

    apply_surface( 0, 240, background, screen );

    apply_surface( 320, 240, background, screen );







    apply_surface( 180, 140, message, screen );

         //更新窗口

    if( SDL_Flip( screen ) == -1 )

    {

    return 1;

    }



    SDL_Delay( 2000 );



     //释放表面

    SDL_FreeSurface( message );

    SDL_FreeSurface( background );

//退出SDL

    SDL_Quit();



    return 0;

}

其中有两个图片:hello.bmp和background.bmp(找了一下大于10M的要先上传,然后保存链接地址)

Lesson2

Lesson2
都在我的相册中,打开网页另存图片即可。

如有疑问请留言!

你可能感兴趣的:(less)