3

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

我需要能够在代码中选择要与 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})

任何帮助将不胜感激。

4

1 回答 1

1

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

就像是:

mon2 = sct.monitors[2]
box = {
    'top': mon2['top'] + 160,
    'left': mon2['left'] + 160,
    'width': 160,
    'height': 135,
}
sct.grab(box)
于 2017-11-28T21:41:14.707 回答