CGDisplayCopyAllDisplayModes排除了一种有效模式

mar

在OS X(文档)中以编程方式使用显示模式时,我发现CGDisplayCopyAllDisplayModes系统首选项中没有显示最右边的选项。

一个简单的实用程序可以打印当前显示模式的大小,并且所有可用的显示模式大小都会输出

current size: 1920x1200
available sizes:
2880x1800
1440x900
2560x1600
2048x1280
1024x768
800x600
640x480
1680x1050
1280x800

1920x1200 是有效的选择 在此处输入图片说明

列表中显示了“系统偏好设置”提供的所有其他选项。有谁知道为什么1920x1200不包括在内?我曾尝试将其更改为系统首选项中的另一个预定义值,但未1920x1200将其包括在内。

编辑(可接受的答案比这些恶作剧要好得多,但我留这个信息是为了以防万一)

可以通过引用私有API找到“缩放”显示模式。

您可以创建一个使私有方法可用的头文件:请参阅我从该项目中借来的要点

然后您可以看到所有模式,包括像这样的缩放模式

print("Private modes:\n")

var numDisplayModes: Int32 = 0
CGSGetNumberOfDisplayModes(mainDisplayID, &numDisplayModes)
print("Num modes \(numDisplayModes)")

for i in 0...(numDisplayModes-1) {
    var pmode: CGPrivDisplayMode = CGPrivDisplayMode()
    CGSGetDisplayModeDescriptionOfLength(mainDisplayID, CInt(i), &pmode, CInt(sizeof(CGPrivDisplayMode)))
    
    print("\t\(pmode.modeNumber): \(pmode.width)x\(pmode.height) -- \(pmode.density)  \n")
}
肯·托马斯(Ken Thomases)

仅在标题中记录了公共API。CGDisplayCopyAllDisplayModes()接受一个options参数,它是一个字典。文档(甚至标题)说它尚未使用,您必须通过NULL,但是您可以通过带有ke​​ykCGDisplayShowDuplicateLowResolutionModes和value的字典kCFBooleanTrue

选项名称不是很清楚。它包括许多额外的模式。

另外,您可能需要使用CGDisplayModeGetPixelWidth()CGDisplayModeGetPixelHeight()区分后备存储的点大小和像素大小。CGDisplayModeGetWidth()CGDisplayModeGetHeight()返回点大小。通过比较这些值,可以确定模式是否已缩放。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Javascript中编写一种有效的方式来处理匹配模式?

来自分类Dev

除了使用R base函数以外,是否有一种有效的方法来获得“ pmax”?

来自分类Dev

一种遍历多维数组的有效方法?

来自分类Dev

一种getter语法有效,但是另一种无效吗?

来自分类Dev

Flutter PointerEvent与OnTap,一种有效,另一种无效

来自分类Dev

模板中的方法:一种有效,一种不实例化

来自分类Dev

一种收益有效,而另一种无效

来自分类Dev

为什么一种方法有效,而另一种无效?

来自分类Dev

是否有一种特殊形式的UPDATE语句,除了检查是否为有效SQL之外什么都不做?

来自分类Dev

除了NumPy矩阵中的特定列,是否有一种有效的方法来获取max元素的位置?

来自分类Dev

有没有一种有效的方法来用另一种有效的方法替换数据框中的值?

来自分类Dev

在EaselJS中添加一个阶段。一种有效,一种无效。为什么?

来自分类Dev

是否有一种仅调用一次递归函数的有效方法?

来自分类Dev

Rails:一种以多对多关系从另一种模型收集数据的有效方法

来自分类Dev

parseJSON在一种情况下有效,而在另一种情况下无效

来自分类Dev

为什么一种功能有效而另一种不起作用?(Javascript)

来自分类Dev

$ scope分配在一种情况下有效,但在另一种情况下有效

来自分类Dev

对于OpenBSD,有没有一种有效的替代top的方法?

来自分类Dev

是否有一种班轮或更有效的方法来完成此任务?

来自分类Dev

一种获取python列表的所有k个组合的有效方法

来自分类Dev

是否有一种有效的方法可以向后搜索R中的大矢量?

来自分类Dev

Qt:为什么只有qss文件中的一种样式有效

来自分类Dev

在.js.erb文件中,只有一种情况有效

来自分类Dev

有一种更短/优雅/有效的方式来写这个吗?

来自分类Dev

一种检查3个变量是否全部唯一的有效方法

来自分类Dev

寻找一种更有效的方式在mongoose-q中执行许多查询

来自分类Dev

一种与剂量q(或用于)并行行走收集的有效方法?

来自分类Dev

为可移动对象存储“有效”状态是否是一种好习惯?

来自分类Dev

一种有效的计算运行方式的方法:“比y小x几?” 在KDB中

Related 相关文章

  1. 1

    如何在Javascript中编写一种有效的方式来处理匹配模式?

  2. 2

    除了使用R base函数以外,是否有一种有效的方法来获得“ pmax”?

  3. 3

    一种遍历多维数组的有效方法?

  4. 4

    一种getter语法有效,但是另一种无效吗?

  5. 5

    Flutter PointerEvent与OnTap,一种有效,另一种无效

  6. 6

    模板中的方法:一种有效,一种不实例化

  7. 7

    一种收益有效,而另一种无效

  8. 8

    为什么一种方法有效,而另一种无效?

  9. 9

    是否有一种特殊形式的UPDATE语句,除了检查是否为有效SQL之外什么都不做?

  10. 10

    除了NumPy矩阵中的特定列,是否有一种有效的方法来获取max元素的位置?

  11. 11

    有没有一种有效的方法来用另一种有效的方法替换数据框中的值?

  12. 12

    在EaselJS中添加一个阶段。一种有效,一种无效。为什么?

  13. 13

    是否有一种仅调用一次递归函数的有效方法?

  14. 14

    Rails:一种以多对多关系从另一种模型收集数据的有效方法

  15. 15

    parseJSON在一种情况下有效,而在另一种情况下无效

  16. 16

    为什么一种功能有效而另一种不起作用?(Javascript)

  17. 17

    $ scope分配在一种情况下有效,但在另一种情况下有效

  18. 18

    对于OpenBSD,有没有一种有效的替代top的方法?

  19. 19

    是否有一种班轮或更有效的方法来完成此任务?

  20. 20

    一种获取python列表的所有k个组合的有效方法

  21. 21

    是否有一种有效的方法可以向后搜索R中的大矢量?

  22. 22

    Qt:为什么只有qss文件中的一种样式有效

  23. 23

    在.js.erb文件中,只有一种情况有效

  24. 24

    有一种更短/优雅/有效的方式来写这个吗?

  25. 25

    一种检查3个变量是否全部唯一的有效方法

  26. 26

    寻找一种更有效的方式在mongoose-q中执行许多查询

  27. 27

    一种与剂量q(或用于)并行行走收集的有效方法?

  28. 28

    为可移动对象存储“有效”状态是否是一种好习惯?

  29. 29

    一种有效的计算运行方式的方法:“比y小x几?” 在KDB中

热门标签

归档