小言_互联网的博客

详解:四种方法教你对Python获取屏幕截图(PyQt , pyautogui)

700人阅读  评论(0)

前言:

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

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

1. PIL中的ImageGrab模块

2. windows API

3. PyQt

4. pyautogui

1. PIL中的ImageGrab模块

 

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

2. windows API

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

3. PyQt

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

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

 

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

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

4. pyautogui

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

 

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

python交流群:877562786(群里含大量学习资料,面试宝典等)


转载:https://blog.csdn.net/weixin_41334453/article/details/102488172
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场