Python编程言语允许咱们执行各种使命,一切这些都是在简略模块和短小精悍的代码的协助下完成的。在Python的协助下进行屏幕截图便是这样一项使命。

Python为咱们供给了许多模块,使咱们能够执行不同的使命。有多种办法能够运用Python及其库进行屏幕截图。

用Pyautogui模块进行截图

榜首种办法是运用Python供给的pyauotgui 模块。你能够在终端窗口运用下面的命令来装置这个模块。

pip install pyautogui

pyautogui 模块运用screenshot() 函数,它有助于捕捉整个屏幕。之后,你能够运用save() 函数来保存图画,或者运用imwrite() 函数与NumPy 和OpenCV 模块一同把图画写到磁盘上。

详细了解一下这两种办法。

1.用Pyautogui模块中的save() 函数

一旦你装置了pyautogui 模块,最简略的截图办法是运用screenshot() 函数和save() 函数。下面是一个运用这些函数的示例代码。

示例代码:

import pyautogui
demo_image = pyautogui.screenshot()
demo_image.save("demo_one.jpg")

首要,咱们导入pyautogui 模块。然后,咱们调用screenshot() 函数,该函数捕获了屏幕的图画。

此外,在最终一行代码中,咱们运用save() 函数和咱们想保存的图画的名称。在这种情况下,捕获的图画能够经过文件名demo_one.jpg 找到。

下面是咱们得到的输出图画。留意,你会在Jupyter笔记本或Python的同一目录下找到这个图画。

用Python制作截图小工具
假如你想在捕捉图画时有一些推迟,你能够运用time 模块的sleep() 函数。

2.用Numpy和Opencv模块与Pyautogui一同运用

第二种办法涉及到与pyautogui 一同运用另外两个模块;它们是NumPy 和OpenCV 。在榜首种办法中,咱们运用save() 函数来保存图画。

但在这里,咱们将运用这两个模块来拍照和保存屏幕截图。

经过在终端写下以下命令来装置Numpy 和OpenCV 。

pip install numpy
pip install opencv-python

下面是一切模块装置后必须运用的代码。

示例代码:

#import the required modules
import numpy as x
import cv2
import pyautogui
#use pyautogui to take screenshot
demo_image = pyautogui.screenshot()
#use opencv and numpy to manipulate image
demo_image = cv2.cvtColor(x.array(demo_image),cv2.COLOR_RGB2BGR)
#save the image using opencv
cv2.imwrite("demo_two.png", demo_image)

咱们首要导入了所需的模块,然后运用screenshot() 函数来捕获屏幕。然后,咱们将图画转换为NumPy 数组,并将色彩的次序从RGB改为BGR。

这样做是因为当OpenCV 读取图画时,它要求色彩的次序是BGR而不是默许的RGB。最终,咱们运用imwrite() 函数将图画写到磁盘上。

这便是输出图画的样子。

输出:

用Python制作截图小工具
以上是关于如安在Python中运用pyautogui 模块进行屏幕截图的全部内容。现在,咱们要进入下一个办法来做同样的作业。

要了解更多关于pyautogui 模块的信息,请参阅这个文档。

用Pillow模块

运用pyautogui 模块,默许情况下能够捕获整个屏幕。然而,假如咱们必须捕捉屏幕的一部分,咱们能够运用Pillow 模块。

这个模块运用另一个叫做ImageGrab 的子模块,让咱们设置咱们想要捕捉的屏幕区域的坐标。咱们运用grab() 函数来指定这些坐标。

下面是这种办法的代码。

示例代码:

#Python小白学习交流群:711312441
from PIL import ImageGrab
ss_coordinates = (200, 200, 600, 600)
demo_image = ImageGrab.grab(ss_coordinates)
demo_image.save("demo_three.jpg")

咱们首要导入了Pillow 模块和ImageGrab 子模块。然后,咱们为咱们想要捕捉的屏幕设置了一些坐标。

此外,咱们运用grab() 函数,并将这些坐标传递给该函数。然后,运用save() 办法保存捕获的图画。

这便是咱们得到的屏幕截图。

输出:

用Python制作截图小工具
从本质上讲,这便是在Python中拍照屏幕截图的办法,即经过设置坐标。参阅该文档以了解更多关于Pillow 模块的信息。

用Pyscreenshot模块

Python供给了这个叫做pyscreenshot 的模块,其仅有的使命便是进行截图。要装置这个模块,在终端运用以下命令。

pip install pyscreenshot

一旦该模块装置完毕,运用这段代码对整个屏幕进行截图。

示例代码:

import pyscreenshot
image_demo = pyscreenshot.grab()
image_demo.save("demo_four.png")

咱们首要导入了pyscreenshot 模块,然后运用grab() 函数来捕获屏幕。最终,咱们运用save() 函数来保存图画。

下面是咱们得到的图画的输出。

输出:

用Python制作截图小工具
咱们还能够运用这个模块来捕捉屏幕的一部分。咱们只需将所需的坐标作为一个元组传递给grab() 函数。

下面是对屏幕特定部分进行截图的代码。

示例代码:

import pyscreenshot
image_demo = pyscreenshot.grab(bbox=(100, 100, 500, 500))
image_demo.save("demo_five.png")

请留意,咱们在代码的第二行中传递了咱们想要捕捉的屏幕部分的坐标。其他的代码与前面的代码作业相同。

下面是捕捉到的图画。

输出:

用Python制作截图小工具
留意这个模块,pyscreenshot ,现已不怎么用了,你最好选择咱们讨论的前两种在Python中拍照屏幕的办法。这便是关于如安在Python中进行屏幕截图的全部内容。

总结

这篇文章讨论了咱们如何运用Python编程言语进行截图。咱们看到了如何运用pyautogui 模块与save() 函数和其他模块,如NumPy 和OpenCV 。

咱们还学习了如何运用Python的Pillow 模块来捕捉屏幕的一部分。此外,咱们还看到了如何运用pyscreenshot 模块来捕获整个屏幕和它的一部分。