0

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

我努力了

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返回一个numpy.ndarray.

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

r = Screen.capture(focusWindow)

谁知道怎么截图?

谢谢

4

1 回答 1

1

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

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()
于 2018-08-31T12:10:25.147 回答