C++ 中的屏幕分辨率

screen resolution in c++

本文关键字:分辨率 屏幕 C++      更新时间:2023-10-16

我使用 SDL 1.2 在 C++ 中制作了一个简单的游戏,并使用 wtypes.h 中的函数来获取显示分辨率,然后将游戏分辨率设置为其值。问题是,当我编译它时,exe文件(我的游戏分辨率)取决于编译它的计算机的分辨率。因此,当我将exe文件复制到另一台计算机并运行时,游戏分辨率将与计算机的分辨率相同,而不是该计算机的分辨率(除非它们具有相同的分辨率)。有没有办法在运行时获得显示分辨率?我知道我可以简单地在那台计算机上编译我的 cpp 文件,但这需要 C:B/VS、DLL 文件和链接的 dll 文件:/

SDL_GetVideoInfo 函数返回一个只读指针,指向包含有关视频硬件的信息的结构。如果在SDL_SetVideoMode之前调用,则返回结构的成员current_wcurrent_h将包含最佳视频模式的像素格式。

#include "SDL.h"
SDL_Init( SDL_INIT_VIDEO );
const SDL_VideoInfo* videoInfo = SDL_GetVideoInfo(); 
width = videoInfo->current_w;
height = videoInfo->current_h;