【问题标题】:Given a Global Screen Position in code, how do I figure on which monitor I am on?给定代码中的全局屏幕位置,我如何确定我在哪个显示器上?
【发布时间】:2011-10-21 18:12:49
【问题描述】:

我获得了一个全局屏幕位置 (x,y),并且我的 Mac 计算机中插入了多台显示器,我如何在 Xcode (Objective-c) 中确定打开的是哪台显示器。

基本上我需要知道我在 NSScreen 列表中的哪个索引,或者如何检索全局监视器空间(包括所有监视器的坐标系)?

【问题讨论】:

    标签: objective-c xcode multiple-monitors coordinate-systems


    【解决方案1】:

    获取NSScreens 的数组,并对其进行迭代,测试NSPointInRect( myPt, [aScreen frame] )

    你没有说你从哪里得到你的全局(x,y)。一些 OS API 假设一个全局坐标空间,其原点位于主屏幕的左上角,而我认为 Cocoa 将原点放在左下角。

    【讨论】:

    • 感谢您的回复。我的坐标来自左上角坐标系,但我想我可以转换它,除非有另一种方法可以处理这种情况
    • 根据您打算如何处理屏幕信息,您也许可以使用 Quartz 函数,例如 CGGetDisplaysWithPoint
    猜你喜欢
    • 2012-08-22
    • 2022-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    • 2017-11-19
    • 1970-01-01
    相关资源
    最近更新 更多