#include <SDL.h>
int main(int argc, char *argv[])
{
SDL_Window *window = NULL;
SDL_Renderer *renderer = NULL;
SDL_Texture *texture = NULL;
SDL_Surface *surface = NULL;
// 初始化
SDL_Init(SDL_INIT_VIDEO);
// 创建窗口
window = SDL_CreateWindow("SDL2", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 800, 600, 0);
// 创建渲染器
renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
// 加载图像
surface = SDL_LoadBMP("image.bmp");
// 创建纹理
texture = SDL_CreateTextureFromSurface(renderer, surface);
// 释放表面
SDL_FreeSurface(surface);
while (1) {
SDL_Event event;
// 轮询事件
if (SDL_PollEvent(&event)) {
if (event.type == SDL_QUIT) { // 退出事件
break;
}
}
// 消除背景
SDL_RenderClear(renderer);
// 渲染图像
SDL_RenderCopy(renderer, texture, NULL, NULL);
// 显示图像
SDL_RenderPresent(renderer);
}
// 销毁纹理
SDL_DestroyTexture(texture);
// 销毁渲染器
SDL_DestroyRenderer(renderer);
// 销毁窗口
SDL_DestroyWindow(window);
// 退出
SDL_Quit();
return 0;
}
SDL2 图像渲染
最新推荐文章于 2024-12-24 13:55:18 发布