此方法可以解决windows系统设置的缩放导致截屏不能截全屏的问题
导入mss
pip install mss
获取屏幕信息
with mss.mss() as sct:
monitors = sct.monitors[:]
print(monitors)
[{'left': 0, 'top': 0, 'width': 3840, 'height': 1080}, {'left': 0, 'top': 0, 'width': 1920, 'height': 1080}, {'left': 1920, 'top': 0, 'width': 1920, 'height': 1080}]
mss获取的除了各个屏幕之外,第一个是所有屏幕的信息,这里只要获取各个屏幕的信息
import mss
with mss.mss() as sct:
monitors = sct.monitors[1:]
print(monitors)
屏幕截屏
for i in range(len(monitors)):
with mss.mss() as sct:
screenshot = sct.grab(monitors[i])
mss.tools.to_png(screenshot.rgb, screenshot.size, output=f'screen_{i}.png')
附上全部代码
import mss
with mss.mss() as sct:
monitors = sct.monitors[1:]
print(monitors)
for i in range(len(monitors)):
with mss.mss() as sct:
screenshot = sct.grab(monitors[i])
mss.tools.to_png(screenshot.rgb, screenshot.size, output=f'screen_{i}.png')