使用python制作一个截图小工具

 更新时间:2023年12月27日 09:09:34   作者:Python学习者  
这篇文章主要讨论了我们如何使用Python编程语言进行截图,我们看到了如何使用pyautogui 模块与save() 函数和其他模块,如NumPy 和OpenCV ,文中通过代码示例介绍的非常详细,需要的朋友可以参考下

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的同一目录下找到这个图像。

如果你想在捕捉图像时有一些延迟,你可以使用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中使用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中拍摄屏幕截图的方法,即通过设置坐标。参考该文档以了解更多关于Pillow 模块的信息。

用Pyscreenshot模块

Python提供了这个叫做pyscreenshot 的模块,其唯一的任务就是进行截图。要安装这个模块,在终端使用以下命令。

pip install pyscreenshot

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

示例代码:

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

我们首先导入了pyscreenshot 模块,然后使用grab() 函数来捕获屏幕。最后,我们使用save() 函数来保存图像。

下面是我们得到的图像的输出。

输出:

我们还可以使用这个模块来捕捉屏幕的一部分。我们只需将所需的坐标作为一个元组传递给grab() 函数。

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

示例代码:

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

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

下面是捕捉到的图像。

输出:

注意这个模块,pyscreenshot ,已经不怎么用了,你最好选择我们讨论的前两种在Python中拍摄屏幕的方法。这就是关于如何在Python中进行屏幕截图的全部内容。

总结

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

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

到此这篇关于使用python制作一个截图小工具的文章就介绍到这了,更多相关python制作截图工具内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 浅谈python中的正则表达式(re模块)

    浅谈python中的正则表达式(re模块)

    本篇文章主要介绍了浅谈python中的正则表达式(re模块),通过内嵌集成re模块,程序媛们可以直接调用来实现正则匹配,有兴趣的可以了解一下
    2017-10-10
  • Qt Quick QML-500行代码实现合成大西瓜游戏

    Qt Quick QML-500行代码实现合成大西瓜游戏

    合成大西瓜游戏是前段时间比较火的小游戏,最近小编闲来无事,通过研究小球碰撞原理亲自写碰撞算法实现一个合成大西瓜游戏,下面小编把我的实现思路及核心代码分析出来,供大家参考
    2021-05-05
  • python通过tcp发送xml报文的方法

    python通过tcp发送xml报文的方法

    今天小编就为大家分享一篇python通过tcp发送xml报文的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • 解决使用pycharm提交代码时冲突之后文件丢失找回的方法

    解决使用pycharm提交代码时冲突之后文件丢失找回的方法

    这篇文章主要介绍了解决使用pycharm提交代码时冲突之后文件丢失找回的方法 ,需要的朋友可以参考下
    2018-08-08
  • 使用Python实现表格字段智能去重

    使用Python实现表格字段智能去重

    在数据分析和处理过程中,数据清洗是一个至关重要的步骤,其中字段去重是一个常见且关键的任务,下面我们看看如何使用Python进行表格字段智能去重吧
    2025-03-03
  • Python Scrapy实战之古诗文网的爬取

    Python Scrapy实战之古诗文网的爬取

    本文将利用Python中Scrapy框架,实现爬取古诗文网上的诗词数据,具体包括诗词的标题信息。文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-05-05
  • django 外键创建注意事项说明

    django 外键创建注意事项说明

    这篇文章主要介绍了django 外键创建注意事项说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Python的jsonpath库使用方法实例

    Python的jsonpath库使用方法实例

    这篇文章主要介绍了Python的jsonpath库使用方法实例,接口返回的jsonn数据,需要取值后断言,一般我们是使用jsonpath来提取接口返回的数据 ,JsonPath是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,,需要的朋友可以参考下
    2023-08-08
  • python的pstuil模块使用方法总结

    python的pstuil模块使用方法总结

    这篇文章主要介绍了python的pstuil模块使用方法总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Python解析、提取url关键字的实例详解

    Python解析、提取url关键字的实例详解

    今天小编就为大家分享一篇Python解析、提取url关键字的实例详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12

最新评论