Lv.的博客

SDL 显示图片

来源:

http://adolfans.github.io/sdltutorialcn/ (中文教程)

http://www.willusher.io/pages/sdl2/ (英文教程)

环境:SDL2 + VC++2015

下面的代码将打开一个窗口显示hello.bmp

 

 1 #include <iostream>

 2 #include <SDL.h>

 3 

 4 int main(int argc, char** argv)

 5 {

 6     //初始化SDL

 7     if (SDL_Init(SDL_INIT_VIDEO) != 0)

 8     {

 9         std::cout << "SDL_Init Error: " << SDL_GetError() << std::endl;

10         return 1;

11     }

12 

13     //创建窗口

14     SDL_Window *win = nullptr;

15     win = SDL_CreateWindow("Hello World!",

16         SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,

17         640, 480, SDL_WINDOW_SHOWN);

18     if (win == nullptr)

19     {

20         std::cout << SDL_GetError() << std::endl;

21         return 1;

22     }

23 

24     //创建渲染器

25     SDL_Renderer *ren = nullptr;

26     ren = SDL_CreateRenderer(win, -1,

27         SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);

28     if (ren == nullptr)

29     {

30         std::cout << SDL_GetError() << std::endl;

31         return 1;

32     }

33 

34     //创建表面

35     SDL_Surface *bmp = nullptr;

36     bmp = SDL_LoadBMP("hello.bmp");

37     if (bmp == nullptr) {

38         std::cout << SDL_GetError() << std::endl;

39         return 1;

40     }

41 

42     //创建材质

43     SDL_Texture *tex = nullptr;

44     tex = SDL_CreateTextureFromSurface(ren, bmp);

45     SDL_FreeSurface(bmp);

46 

47     //清空渲染器

48     SDL_RenderClear(ren);

49     //将材质复制到渲染器

50     SDL_RenderCopy(ren, tex, NULL, NULL);

51     //呈现渲染器

52     SDL_RenderPresent(ren);

53     //窗口延时

54     SDL_Delay(2000);

55 

56     //释放资源

57     SDL_DestroyTexture(tex);

58     SDL_DestroyRenderer(ren);

59     SDL_DestroyWindow(win);

60     //退出SDL

61     SDL_Quit();

62 

63     return 0;

64 }

 

https://i-beta.cnblogs.com/posts/edit

posted @   Avatarx  阅读(308)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示