Win10上的截图(PIL)ImageGrab.grab / BitBlt只返回背景?

时间:2017-06-27 07:06:35

标签: python windows-10 screenshot python-imaging-library bitblt

我对Windows 10有一个很大的问题,通常我使用PIL(Python)从程序内部获得一个漂亮而干净的屏幕截图。

但是对于Windows 10,这不再起作用,现在我只成为桌面上的所有内容,但我的FullScreen窗口丢失了。

我也尝试使用:

BitBlt(screen_copy, 0, 0, width, height, screen, left, top, SRCCOPY | CAPTUREBLT)

但结果完全相同:(

任何人都有任何解决方案或想法在Win10中发生了哪些变化?

非常感谢你。

1 个答案:

答案 0 :(得分:0)

另一种非常快的方法是MSS模块。它仅使用ctypes标准模块,因此不需要任何依赖项。它与操作系统无关,适用于Windows 10,使用起来很简单:

from mss import mss

with mss() as sct:
    sct.shot()

然后找到包含第一台显示器屏幕截图的screenshot.png文件。有很多可能的自定义,你可以使用ScreenShot个对象和OpenCV / Numpy / PIL /等。