SDL2,创建比屏幕大的窗口

时间:2014-05-26 22:38:50

标签: c++ image sdl sdl-2

我正在尝试使用以下方法在SDL2中创建一个窗口:

    SDL_Window* window = SDL_CreateWindow("nada",SDL_WINDOWPOS_CENTERED,SDL_WINDOWPOS_CENTERED,image->w, image->h, 0);

其中image-> h和image-> w是我正在尝试渲染的图像的高度和宽度(2000和600)。

我想创建一个与我拥有的图像大小相同的窗口。图像是2000x600像素,但我的屏幕是1920x1080,当窗口创建时,它缩小到屏幕大小。

如何创建图像大小的窗口?我的意思是,比屏幕更大?

2 个答案:

答案 0 :(得分:1)

SDL_CreateWindow()致电后SDL_SetWindowSize()。这似乎对我有用。

似乎SDL_CreateWindow()受到屏幕尺寸的限制,而SDL_SetWindowSize()则不然。

如果发送分辨率过高的参数,

SDL_CreateWindow()将锁定最大化模式,导致SDL_SetWindowSize()无效。因此,请尝试将低分辨率发送到SDL_CreateWindow()(例如10x10)以及SDL_SetWindowSize()所需的分辨率。

修改

SDL_WINDOW_RESIZABLE必须 NOT 传递给SDL_CreateWindow()。这会导致窗口锁定在最大化模式,因此将窗口限制为屏幕的分辨率。如果您这样做,则不需要SDL_SetWindowSize

答案 1 :(得分:0)

我不认为这是可能的。 SDL受操作系统和驱动程序的限制。您可能处于可能的最大分辨率,您的视频卡可能无法处理更多。您仍然可以尝试将其加载到内存中,然后缩放和/或平移图像。你想解决什么问题?