如何使用走狗在 Python 中截取屏幕截图?

How to capture screenshot in Python with lackey?

我想用 lackey 截取应用程序屏幕的理想屏幕截图(但首先,整个屏幕的屏幕截图就可以了)。

我试过了

from lackey import *

notepad = App('notepad.exe')
notepad.open()
focusWindow = notepad.focusedWindow()

s = Screen(0)
r = s.capture()
with open("toto.bmp", "wb") as f:
    f.write(r)

图片打不开,因为函数capture returns a numpy.ndarray.

我也尝试了以下操作,但结果是一样的:

r = Screen.capture(focusWindow)

有人知道怎么截屏吗?

谢谢

您可以使用 PIL 库中的 Image.fromarray 和 Image.save 方法来保存图像。出于某种原因,下面的代码捕获了 window 运行 脚本以及记事本应用程序,sp 我想你可能需要对其进行调整。

from lackey import *
from PIL import Image

notepad = App('notepad.exe')
notepad.open()
focusWindow = notepad.focusedWindow()

sleep(5) # allow some time for the notepad window to appear before capture.

screen = Screen()
capture = screen.capture(focusWindow)

image = Image.fromarray(capture)
image.save("test.bmp")
notepad.close()