c++ - 如何在 C++ 中获取 Mac OS X 中主显示器的分辨率?

标签 c++ macos graphics resolution

我有一个图形应用程序需要测试它在 Mac OS X 中启动的显示器的分辨率,以确保它不大于分辨率。这是在窗口本身初始化之前完成的。

如果有多个显示器,它需要是主显示器。这是硬件加速 (OpenGL) 应用程序将在全屏模式下启动的显示器,通常是顶部有菜单栏的显示器。

在 Windows 中,我可以成功使用 GetSystemMetrics()。我如何在 OS X 上执行此操作?

最佳答案

使用 CoreGraphics:

CGRect mainMonitor = CGDisplayBounds(CGMainDisplayID());
CGFloat monitorHeight = CGRectGetHeight(mainMonitor);
CGFloat monitorWidth = CGRectGetWidth(mainMonitor);

有关 Apple 的更多信息 Quartz Display Services Reference .

关于c++ - 如何在 C++ 中获取 Mac OS X 中主显示器的分辨率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/146480/

相关文章:

math - 如何计算变换矩阵

c++ - Qt 无法将目标移动到线程

c++ - 链接错误与 fmt : undefined reference to `std::string fmt::v6::internal::grouping_impl<char>(fmt::v6::internal::locale_ref)'

c++ - 在默认浏览器中打开 URL 作为窗口而不是 Qt 中的选项卡

c++ - 为什么这里 getline 比 scanf 快?

c++ - 如何将运行 OS/X El Capitan 的 Mac 上的 clang 升级到 LLVM 3.8?

objective-c - 如何在 Mac 上获取当前设备

macos - Docker/Boot2Docker : Set HTTP/HTTPS proxies for docker on OS X

algorithm - 两个凸多边形的交集

c - 使用 C 语言绘制 x-y 图