如何使用 mss python 从屏幕的一部分截取屏幕截图?

How to take a screenshot from part of screen with mss python?

我这里有一个简单的代码:

import mss
with mss.mss() as sct:
    filename = sct.shot(output="result.png")

result.png

但我想像这样截取屏幕的一部分:

感谢帮助!

正如 https://python-mss.readthedocs.io/examples.html 中所解释的那样,这样的事情应该有效:

with mss.mss() as sct:
    # The screen part to capture
    monitor = {"top": 160, "left": 160, "width": 160, "height": 135}
    output = "sct-{top}x{left}_{width}x{height}.png".format(**monitor)

    # Grab the data
    sct_img = sct.grab(monitor)

    # Save to the picture file
    mss.tools.to_png(sct_img.rgb, sct_img.size, output=output)
    print(output)

这只是网站上给出的示例。您可以通过修改 monitor 词典来调整截屏的屏幕部分。例如,您可以将其从 {"top": 160, "left": 160, "width": 160, "height": 135} 更改为 {"top": 10, "left": 14, "width": 13, "height": 105}。您将必须修改它以捕获您想要的屏幕部分。