SDL_Texture与SDL_Renderer示例

来源:互联网 发布:js删除cookie值的方法 编辑:程序博客网 时间:2024/06/01 10:34
#include <stdio.h>#include <stdlib.h>#include <SDL2/SDL.h>SDL_Window * window;SDL_Renderer * renderer;SDL_Texture * texture;SDL_Rect rectSrc;SDL_Rect rectDest;int main(int argc, char * argv[]){if(SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO)==-1){fprintf(stderr, "SDL_Init() %s\n" , SDL_GetError());exit(-1);}atexit(SDL_Quit);window = SDL_CreateWindow("Window Title",SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED,640, 480, SDL_WINDOW_OPENGL);if(NULL==window){fprintf(stderr, "SDL_CreateWindow() %s\n" , SDL_GetError());exit(-1);}renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);if(NULL==renderer){fprintf(stderr, "SDL_CreateRenderer() %s\n" , SDL_GetError());exit(-1);}SDL_Surface * tempSurface = SDL_LoadBMP("./car.bmp");if(tempSurface==NULL){fprintf(stderr, "SDL_LoadBMP() failed: %s", SDL_GetError());exit(-1);}texture = SDL_CreateTextureFromSurface(renderer, tempSurface);SDL_FreeSurface(tempSurface);SDL_RenderCopy(renderer, texture, 0, 0);SDL_RenderPresent(renderer);//press ESC for exitUint32 exit = 0;SDL_Event event;while( !exit && SDL_WaitEvent(&event) ){switch(event.type){case SDL_KEYDOWN:if(event.key.keysym.sym == SDLK_ESCAPE){exit = 1;}break;default:break;}}SDL_DestroyRenderer(renderer);SDL_DestroyTexture(texture);SDL_DestroyWindow(window);window = NULL;return 0;}

0 0
原创粉丝点击