SDL2常用函数SDL创建渲染器:SDL_CreateRenderer | SDL_DestroyRenderer

SDL_CreateRenderer()

函数原型如下:

SDL_Renderer *SDL_CreateRenderer(SDL_Window *window, int index, Uint32 flags)

函数作用:

为窗口创建二维渲染context

参数说明
window显示渲染的窗口
index要初始化的渲染驱动程序的索引,或-1初始化第一个支持请求标志的驱动程序
flags创建渲染上下文时使用的标志, 0或一个或多个SDL_RenderFlags或一起

返回值

返回创建的渲染或失败时返回NUL;有关详细信息,请调用SDL_GetError()

flags可以是以下任何一个或组合在一起:

flags说明
SDL_RENDERER_SOFTWARE渲染器使用软件加速
SDL_RENDERER_ACCELERATED渲染器使用硬件加速
SDL_RENDERER_PRESENTVSYNC和显示器的刷新率同步
SDL_RENDERER_TARGETTEXTURE渲染器支持渲染到纹理

PS:请注意,不提供任何标志会优先使用可用的SDL_RENDERER_ACCELERATED渲染器

SDL_DestroyRenderer()

函数原型如下:

void SDL_DestroyRenderer(SDL_Renderer *renderer)
参数说明
renderer渲染上下文

函数作用:

破坏窗口的渲染上下文并释放关联的纹理。如果renderer为NULL,则在将SDL错误消息设置为“Invalid renderer”后,此函数将立即返回。请参见SDL_GetError()

作品:

1、易投屏-矩阵投屏(神器),开发环境易语言 基于scrcpy开发

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
当然,以下是一个使用SDL2库的简单C++程序示例,用于创建一个窗口并显示一个红色的矩形: ```cpp #include <SDL2/SDL.h> int main() { // 初始化SDL if (SDL_Init(SDL_INIT_VIDEO) < 0) { SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "无法初始化SDL: %s", SDL_GetError()); return 1; } // 创建窗口 SDL_Window* window = SDL_CreateWindow("SDL2 程序示例", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 800, 600, SDL_WINDOW_SHOWN); if (!window) { SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "无法创建窗口: %s", SDL_GetError()); return 1; } // 创建渲染 SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, 0); if (!renderer) { SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "无法创建渲染: %s", SDL_GetError()); return 1; } // 设置绘制颜色为红色 SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255); // 清空渲染 SDL_RenderClear(renderer); // 创建矩形 SDL_Rect rect = { 100, 100, 200, 200 }; // 绘制矩形 SDL_RenderFillRect(renderer, &rect); // 刷新渲染 SDL_RenderPresent(renderer); // 主循环 bool quit = false; SDL_Event event; while (!quit) { while (SDL_PollEvent(&event)) { if (event.type == SDL_QUIT) { quit = true; } } } // 清理资源 SDL_DestroyRenderer(renderer); SDL_DestroyWindow(window); SDL_Quit(); return 0; } ``` 请确保已经安装了SDL2库,并在编译时链接SDL2库。这个程序将创建一个窗口并显示一个红色的矩形,直到用户关闭窗口为止。希望这个示例能帮到你!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萧阳_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值