SDL2.0显示一张BMP图片方法二
好文章,来自【福优学苑@音视频+流媒体】
SDL2.0显示一张BMP图片方法二
初始化:
SDL_Init(): 初始化SDL。
SDL_CreateWindow(): 创建窗口(Window)。
SDL_CreateRenderer(): 基于窗口创建渲染器(Render)。
SDL_CreateTexture(): 创建纹理(Texture)。
循环渲染数据:
SDL_UpdateTexture(): 设置纹理的数据。
SDL_RenderCopy(): 纹理复制给渲染器。
SDL_RenderPresent(): 显示。
int main_ShowBMPImage_texture() { SDL_Init(SDL_INIT_VIDEO); SDL_Window* window = SDL_CreateWindow( "显示bmp图片", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 640, 360, SDL_WINDOW_SHOWN); SDL_Renderer* renderer = SDL_CreateRenderer( window, -1, SDL_RENDERER_ACCELERATED); SDL_RenderClear(renderer); SDL_Surface* surface = SDL_LoadBMP("./Hello_world.bmp"); SDL_Rect box = { 0, 0, surface->w - 50, surface->h - 50 }; SDL_Texture* texture = SDL_CreateTextureFromSurface(renderer, surface); SDL_RenderCopy(renderer, texture, &box, &box); SDL_RenderPresent(renderer); SDL_Delay(2000); SDL_FreeSurface(surface); SDL_DestroyTexture(texture); SDL_DestroyRenderer(renderer); SDL_DestroyWindow(window); SDL_Quit(); return 0; }
***【在线视频教程】***