linux版c++中的屏幕分辨率
Screen resolution in c++ for linux
我写了一个必须与鼠标交互的程序,所以我想用c++为linux获取屏幕/监视器的宽度和高度。我在谷歌和这里搜索,没有找到任何东西。感谢
您可以使用XLibs函数来获取显示器的大小。
例如,对于非默认显示:
#include <X11/Xlib.h>
Display* d = XOpenDisplay(NULL);
Screen* s = DefaultScreenOfDisplay(d);
XOpenDisplay(NULL)以获取X服务器的主显示器(假设您有一个只有一个显示器的基本X配置…)
然后得到你想要的屏幕分辨率。对于主屏幕,请使用DefaultScreenOfDisplay,否则请使用:ScreenOfDisplay(display,screen_nb)。
然后你得到你的屏幕结构。
您可以访问高度和宽度成员以获得分辨率!
s->高度;
s->宽度;
这比使用WidthOfScreen/HeightOfScreen要好,因为填充Screen结构只需要一个请求。如果你在程序中使用了Xlib,并且你可以选择屏幕(在多个屏幕的情况下),那么你可能已经拥有了它。
您可以使用ScreenCount(display)函数
如果您在X环境中,您可以使用Xlib:http://tronche.com/gui/x/xlib/display/screen-information.html
屏幕宽度和屏幕高度
相关文章:
- 获取可能的屏幕分辨率列表
- 在屏幕分辨率高于 1920x1080 时捕获视频
- 如何绘制到目标纹理大于屏幕分辨率的帧缓冲区
- C++ WinRT - 如何动态缩放可写位图以匹配当前屏幕分辨率
- 更改屏幕分辨率
- 如何在 Windows 10 上检测辅助监视器的本机屏幕分辨率或缩放因子
- MFC和Windows API之间的区别在获取屏幕分辨率方面
- C 在Active Monitor上获得屏幕分辨率
- 在Linux下以编程方式更改屏幕分辨率而不使用监视器
- 在java或UE4 c++中的三星Galaxy S7上获得真正的屏幕分辨率
- 在全屏运行快板程序后出现屏幕分辨率问题
- C++ 中的屏幕分辨率
- linux版c++中的屏幕分辨率
- 如何使用SDL2获得屏幕分辨率
- 如何在C++中获取屏幕分辨率
- 如何获得其他附加显示器的屏幕分辨率
- 获取所有支持的屏幕分辨率
- 屏幕分辨率更改通知消息
- 在c++中改变副监视器的屏幕分辨率
- Direct3D桌面复制:如何从更改屏幕分辨率中恢复