脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - 丢掉截图软件,让 Python 帮你搞定

丢掉截图软件,让 Python 帮你搞定

2023-12-11 14:50老猫coder Python

今天的文章我们介绍下通过 Python来截图的N种方法,有了它,可以丢掉截图软件了。

丢掉截图软件,让 Python 帮你搞定

今天来介绍下截图的N种方法,有了它,可以丢掉截图软件了。

1.PyQt QApplication

 

 

在PyQt中,QScreen类并不直接存在。但是,你可以使用QApplication类的primaryScreen()方法来获取屏幕对象,然后使用grabWindow()方法来进行截图操作。

 

下面是一个简单的示例代码,演示如何在PyQt中进行截图操作:

import sys
from PyQt5.QtWidgets import QApplication
from PyQt5.QtGui import QPixmap

app = QApplication(sys.argv)

# 获取主屏幕对象
screen = app.primaryScreen()

# 进行截图操作
pixmap = screen.grabWindow(0)  # 0表示截取整个屏幕,你也可以传入特定窗口的ID

# 将截图保存为文件
pixmap.save('screenshot.png', 'png')

# 也可以显示在界面上
# pixmap.show()

sys.exit(app.exec_())

在这个示例中,首先创建了一个QApplication实例,然后通过primaryScreen()方法获取主屏幕对象,接着使用grabWindow()方法对整个屏幕进行截图操作,并将结果保存为文件。你也可以根据需要修改代码来实现自定义的截图功能。

 

 

 

 

2.PyAutoGUI

 

 

 

 

你还可以使用PyAutoGUI库来进行屏幕截图操作。PyAutoGUI是一个Python库,可以模拟鼠标和键盘操作,并且也提供了截图的功能。

 

PyAutoGUI是一个Python的跨平台的模块,可以控制鼠标和键盘,创建GUI自动化脚本,以及处理字符串和图像。它可以用于自动化GUI测试,比如填写表单、点击按钮等。

 

下面是一个简单的示例代码,演示如何使用PyAutoGUI库进行屏幕截图:

import pyautogui
# 截取整个屏幕
screenshot = pyautogui.screenshot()
# 保存截图到文件
screenshot.save('screenshot.png')

 

在这个示例中,我们首先使用pyautogui.screenshot()函数来进行屏幕截图操作,然后将结果保存为文件。

 

另外,PyAutoGUI还提供了一些其他的截图函数,比如pyautogui.screenshot(region=(x, y, width, height))可以用来截取指定区域的屏幕,更加灵活地满足你的需求。

 

 

 

 

3.Pillow和opencv

 

除了PyQt和PyAutoGUI外,还有其他一些Python库可以用来进行屏幕截图操作,例如Pillow(Python Imaging Library)和opencv-python。

使用Pillow库进行截图操作的示例代码如下:

from PIL import ImageGrab

# 截取整个屏幕
screenshot = ImageGrab.grab()

# 保存截图到文件
screenshot.save('screenshot.png')

而使用opencv-python库进行截图操作的示例代码如下:

import cv2
import numpy as np
from PIL import ImageGrab

# 获取屏幕截图
screenshot = np.array(ImageGrab.grab())

# 将BGR格式转换为RGB
screenshot = cv2.cvtColor(screenshot, cv2.COLOR_BGR2RGB)

# 显示截图
cv2.imshow('Screenshot', screenshot)
cv2.waitKey(0)
cv2.destroyAllWindows()

这两种方法也可以满足你的屏幕截图需求。选择合适的方法取决于你的实际需求和偏好。

原文地址:https://mp.weixin.qq.com/s?__biz=MzkwNDE2Nzk3OA==&mid=2247485353&idx=1&sn=006d0ab7f6871f6256586c1195dba5dc

延伸 · 阅读

精彩推荐
  • PythonPython无损音乐搜索引擎实现代码

    Python无损音乐搜索引擎实现代码

    这篇文章主要介绍了Python无损音乐搜索引擎的实现代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下...

    脚本之家12862021-01-11
  • PythonPython自动重试HTTP连接装饰器

    Python自动重试HTTP连接装饰器

    这篇文章主要介绍了Python自动重试HTTP连接装饰器,有时候我们要去别的接口取数据,可能因为网络原因偶尔失败,为了能自动重试,写了这么一个装饰器,可以实...

    Python教程网2652020-06-14
  • PythonPython3.5基础之NumPy模块的使用图文与实例详解

    Python3.5基础之NumPy模块的使用图文与实例详解

    这篇文章主要介绍了Python3.5基础之NumPy模块的使用,结合图文与实例形式详细分析了Python3.5中Numpy模块的原理、功能、使用方法及操作注意事项,需要的朋友可...

    loveliuzz6682021-06-19
  • PythonPython实现subprocess执行外部命令

    Python实现subprocess执行外部命令

    Python使用最广泛的是标准库的subprocess模块,使用subprocess最简单的方式就是用它提供的便利函数,因此执行外部命令优先使用subprocess模块,下面就一起来了...

    mb5cd21e691f31a9692021-11-01
  • Pythonpygame实现键盘的连续监控

    pygame实现键盘的连续监控

    这篇文章主要为大家详细介绍了pygame实现键盘的连续监控,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    money_wife4942021-10-04
  • PythonPython+Pygame实现神庙逃亡游戏

    Python+Pygame实现神庙逃亡游戏

    这篇文章主要为大家介绍了如何利用Python和Pygame动画制作一个神庙逃亡类似的小游戏。文中的示例代码讲解详细,感兴趣的小伙伴可以动手尝试一下...

    我的天才女友8472023-02-15
  • Pythonpython模块与C和C++动态库相互调用实现过程示例

    python模块与C和C++动态库相互调用实现过程示例

    这篇文章主要为大家介绍了python模块与C和C++动态库之间相互调用的实现过程示例,有需要的朋友可以借鉴参考下,希望能够有所帮助...

    吃水果不削皮6142022-02-23
  • Pythonpytorch 限制GPU使用效率详解(计算效率)

    pytorch 限制GPU使用效率详解(计算效率)

    这篇文章主要介绍了pytorch 限制GPU使用效率详解(计算效率),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    脸码19792020-06-28