我正在尝试使用以下方法在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,当窗口创建时,它缩小到屏幕大小。
如何创建图像大小的窗口?我的意思是,比屏幕更大?
答案 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受操作系统和驱动程序的限制。您可能处于可能的最大分辨率,您的视频卡可能无法处理更多。您仍然可以尝试将其加载到内存中,然后缩放和/或平移图像。你想解决什么问题?