【问题标题】:mss sct.grab won't let me select which monitor to usemss sct.grab 不允许我选择要使用的显示器
【发布时间】:2017-11-28 20:47:39
【问题描述】:

我有两台显示器连接到我的电脑,并且同时处于活动状态。显示器没有镜像 - 每个显示器显示不同的内容。

我需要能够在代码中选择要与 sct.grab 一起使用的这两个监视器中的哪一个。

我已经看到并测试了这段代码:sct_img = sct.grab(sct.monitors[1]) 它有效——我可以将“1”更改为“2”,它确实会截取另一台显示器——所有这些。但是,我不知道如何将我希望使用的监视器的参数以及我希望抓取的屏幕区域都传递给 sct.grab 以获取部分屏幕截图。看来我可以得到部分截图,但不选择显示器,或者我可以选择显示器,但只能获得全屏。我需要选择显示器,还要选择地区。我正在寻求有关适当语法的帮助。

我有这个代码:

sct_img = sct.grab({'top': 160, 'left': 160, 'width': 160, 'height': 135})

但我想要在某个地方告诉 sct.grab 从我的两个监视器中的哪一个获取此信息:例如,像字典中的参数一样指定要使用哪个监视器会很好:

sct_img = sct.grab({'mon': 2, 'top': 160, 'left': 160, 'width': 160, 'height': 135})

我们将不胜感激。

【问题讨论】:

    标签: python python-mss


    【解决方案1】:

    目前在 MSS 中没有自动执行此操作的方法。最好的办法是使用存储在sct.monitors 中的值来计算坐标。

    类似:

    mon2 = sct.monitors[2]
    box = {
        'top': mon2['top'] + 160,
        'left': mon2['left'] + 160,
        'width': 160,
        'height': 135,
    }
    sct.grab(box)
    

    【讨论】:

    猜你喜欢
    • 2012-11-13
    • 2016-08-15
    • 2018-06-27
    • 2011-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-26
    相关资源
    最近更新 更多