加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 更改SDL2窗口的背景?

发布时间:2020-12-16 10:11:26 所属栏目:百科 来源:网络整理
导读:我可以创建一个SDL2窗口,但我不知道如何更改此窗口的背景颜色. 我的代码: #include "SDL.h"SDL_Window *window;void main(){ window = SDL_CreateWindow("TEST",SDL_WINDOWPOS_CENTERED,640,480,SDL_WINDOW_SHOWN); SDL_Delay(3000);} 如何将此窗口的背景颜
我可以创建一个SDL2窗口,但我不知道如何更改此窗口的背景颜色.

我的代码:

#include "SDL.h"

SDL_Window *window;

void main()
{
    window = SDL_CreateWindow("TEST",SDL_WINDOWPOS_CENTERED,640,480,SDL_WINDOW_SHOWN);

    SDL_Delay(3000);
}

如何将此窗口的背景颜色更改为黑色?

解决方法

您应该使用SDL_SetRenderDrawColor设置绘图颜色,然后使用SDL_RenderClear:

(代码直接来自SDL wiki)

int main(int argc,char* argv[])
{
        SDL_Window* window;
        SDL_Renderer* renderer;

        // Initialize SDL.
        if (SDL_Init(SDL_INIT_VIDEO) < 0)
                return 1;

        // Create the window where we will draw.
        window = SDL_CreateWindow("SDL_RenderClear",512,0);

        // We must call SDL_CreateRenderer in order for draw calls to affect this window.
        renderer = SDL_CreateRenderer(window,-1,0);

        // Select the color for drawing. It is set to red here.
        SDL_SetRenderDrawColor(renderer,255,255);

        // Clear the entire screen to our selected color.
        SDL_RenderClear(renderer);

        // Up until now everything was drawn behind the scenes.
        // This will show the new,red contents of the window.
        SDL_RenderPresent(renderer);

        // Give us time to see the window.
        SDL_Delay(5000);

        // Always be sure to clean up
        SDL_Quit();
        return 0;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读