OSX 应用程序:获取用户显示器的最大分辨率 (Swift)
OSX App: Get max resolution of the user's display (Swift)
我正在尝试获取用户显示器的最大分辨率——不一定是当前分辨率,而是显示器支持的最大分辨率。我知道我可以用 this 之类的东西获得当前分辨率,但我需要最大值(即:在 MBP 13 英寸上,分辨率为 2560x1600)。
我知道我可以在终端中使用 this 之类的东西来做到这一点,但我想避免尝试在终端中做一些骇人听闻的事情,而是用 Swift 来做。关于如何执行此操作的任何建议?谢谢
您需要使用 Quartz 显示服务。首先,获取显示列表,可能带有 CGGetActiveDisplayList
。然后,对于每个显示,使用 CGDisplayCopyAllDisplayModes
。迭代模式数组,使用 CGDisplayModeGetWidth
和 CGDisplayModeGetHeight
找出最高分辨率。
我正在尝试获取用户显示器的最大分辨率——不一定是当前分辨率,而是显示器支持的最大分辨率。我知道我可以用 this 之类的东西获得当前分辨率,但我需要最大值(即:在 MBP 13 英寸上,分辨率为 2560x1600)。
我知道我可以在终端中使用 this 之类的东西来做到这一点,但我想避免尝试在终端中做一些骇人听闻的事情,而是用 Swift 来做。关于如何执行此操作的任何建议?谢谢
您需要使用 Quartz 显示服务。首先,获取显示列表,可能带有 CGGetActiveDisplayList
。然后,对于每个显示,使用 CGDisplayCopyAllDisplayModes
。迭代模式数组,使用 CGDisplayModeGetWidth
和 CGDisplayModeGetHeight
找出最高分辨率。