我有两台显示器连接到我的电脑,两台显示器同时处于活动状态。监视器不是镜像的 - 每个都显示不同的内容。
我需要能够在代码中选择我想要与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})
任何帮助都会受到赞赏。
答案 0 :(得分:0)
目前在MSS中没有自动执行此操作的方法。您最好的方法是使用sct.monitors
中存储的值计算坐标。
类似的东西:
mon2 = sct.monitors[2]
box = {
'top': mon2['top'] + 160,
'left': mon2['left'] + 160,
'width': 160,
'height': 135,
}
sct.grab(box)