前言:

今天为大家带来的内容是详解:四种方法教你对Python获取屏幕截图(PyQt , pyautogui)本文具有不错的参考意义,希望能够帮助到大家!

Python获取电脑截图有多种方式,具体如下:

1. PIL中的ImageGrab模块2. windows API3. PyQt4. pyautogui

1. PIL中的ImageGrab模块

windows python 截图 python 截取屏幕_5 获取窗口位置

使用PIL中的ImageGrab模块简单,但是效率有点低,截屏一次需0.5s。

2. windows API

调用windows API,速度快但是使用较复杂,这里就不做详细介绍了,因为有更好用的PyQt。

3. PyQt

PyQt比调用windows API简单很多,而且有windows API的很多优势,比如速度快,可以指定获取的窗口,即使窗口被遮挡。需注意的是,窗口最小化时无法获取截图。

首先需要获取窗口的句柄。

windows python 截图 python 截取屏幕_API_02

程序会打印窗口的hwnd和title,有了title就可以进行截图了。

from PyQt5.QtWidgets import QApplicationfrom PyQt5.QtGui import *import win32guiimport sys hwnd = win32gui.FindWindow(None, 'C:Windowssystem32cmd.exe')app = QApplication(sys.argv)screen = QApplication.primaryScreen()img = screen.grabWindow(hwnd).toImage()img.save("screenshot.jpg")

4. pyautogui

pyautogui是比较简单的,但是不能指定获取程序的窗口,因此窗口也不能遮挡,不过可以指定截屏的位置,0.04s一张截图,比PyQt稍慢一点,但也很快了。

windows python 截图 python 截取屏幕_5 获取窗口位置_03

以上这篇对Python获取屏幕截图的4种方法详解就是小编分享给大家的全部内容了!