Python 三种方法实现截图【详解+完整代码】

这篇具有很好参考价值的文章主要介绍了Python 三种方法实现截图【详解+完整代码】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

人生苦短 我用python

如何用python实现截屏?

python 截图,Python,python基础知识,基础知识,python,开发语言,opencv,pycharm

一、方法一

PIL中的ImageGrab模块

使用PIL中的ImageGrab模块简单,但是效率有点低

PIL是Python Imaging Library,
它为python解释器提供图像编辑函数能力。

ImageGrab模块可用于将屏幕或剪贴板的内容复制到PIL图像存储器中。
PIL.ImageGrab.grab()方法拍摄屏幕快照。

边框内的像素在Windows上以“RGB”图像的形式返回,

在macOS上以“RGBA”的形式返回。

如果省略了边界框,则会复制整个屏幕。

import numpy as np
from PIL import ImageGrab, Image
import cv2
 
img = ImageGrab.grab(bbox=(0, 0, 1920, 1080))  # bbox 定义左、上、右和下像素的4元组
print(img.size[1], img.size[0])
img = np.array(img.getdata(), np.uint8).reshape(img.size[1], img.size[0], 3)
print(img)#python学习交流:903971231#
cv2.imwrite('screenshot1.jpg', img)
# img = Image.fromarray(img)
# img.save('screenshot1.jpg')

二、方法二

PyQt比调用windows API简单很多,

而且有windows API的很多优势,比如速度快,

可以指定获取的窗口,即使窗口被遮挡。

需注意的是,窗口最小化时无法获取截图。

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

import win32gui
from PyQt5.QtWidgets import QApplication
import sys
 
hwnd_title = dict()
 
 
def get_all_hwnd(hwnd, mouse):
    if win32gui.IsWindow(hwnd) and win32gui.IsWindowEnabled(hwnd) and win32gui.IsWindowVisible(hwnd):
        hwnd_title.update({hwnd: win32gui.GetWindowText(hwnd)})
#python学习交流:903971231#
 
win32gui.EnumWindows(get_all_hwnd, 0)
# print(hwnd_title.items())
for h, t in hwnd_title.items():
    if t != "":
        print(h, t)
 
# 程序会打印窗口的hwnd和title,有了title就可以进行截图了。
hwnd = win32gui.FindWindow(None, 'C:\Windows\system32\cmd.exe')
app = QApplication(sys.argv)
screen = QApplication.primaryScreen()
img = screen.grabWindow(hwnd).toImage()
img.save("screenshot2.jpg")

三、方法三

pyautogui是比较简单的,

但是不能指定获取程序的窗口,

因此窗口也不能遮挡,

不过可以指定截屏的位置

import pyautogui
import cv2  # https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv
import numpy as np
from PIL import Image
 
img = pyautogui.screenshot(region=[0, 0, 1920, 1080])  # x,y,w,h
 
# img = Image.fromarray(np.uint8(img))
# img.save('screenshot3.png')
img = cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)  # cvtColor用于在图像中不同的色彩空间进行转换,用于后续处理。
cv2.imwrite('screenshot3.jpg', img)

python 截图,Python,python基础知识,基础知识,python,开发语言,opencv,pycharm
python 截图,Python,python基础知识,基础知识,python,开发语言,opencv,pycharm文章来源地址https://www.toymoban.com/news/detail-799178.html

到了这里,关于Python 三种方法实现截图【详解+完整代码】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python实现五子棋(完整代码)

    本文主要讲解基于p

    2024年02月10日
    浏览(34)
  • Python实现视频加速效果(完整代码)

    Python实现视频加速效果(完整代码) 在日常生活中,我们可能需要对某些视频进行编辑,如加速、慢放等效果。Python作为一种以数据分析和计算为主要应用的脚本语言,拥有处理视频的能力。本文将提供Python实现视频加速效果的完整代码,供大家进行参考。 首先我们需要安装所

    2024年02月14日
    浏览(39)
  • 【python】python实现杨辉三角的三种方法

    杨辉三角是一种数学图形,由数字排列成类似三角形的形状。它的每个数值等于它上方两个数值之和。这个三角形的形状可以用一个二维表格来表示,其中每个位置上的数值都是通过前一行的数值计算得到的。在这个三角形中,第一行只有一个数值1,第二行有两个数值1,第

    2024年02月07日
    浏览(31)
  • python实现自动贪吃蛇,含完整代码

    【Python自动化贪吃蛇游戏实现】- 用代码让AI自动吃食物 贪吃蛇游戏是一款经典、简单却挑战性极高的小游戏,让我们忍不住想用代码去写一个自动化的贪吃蛇游戏。本文将为您提供Python自动化实现游戏的全套代码。 首先,我们需要使用Pygame库来完成游戏界面的创建。然后,

    2024年02月16日
    浏览(28)
  • Python 实现卷积运算算法(附完整代码)

    Python 实现卷积运算算法(附完整代码) 卷积是一种基本的数字信号处理方法,它在图像处理、语音识别、神经网络等领域广泛应用。在 Python 中,我们可以使用 NumPy 库来实现卷积运算。 首先,我们需要导入 NumPy 库。然后,定义两个数组,一个是输入数据,一个是卷积核。下

    2024年02月09日
    浏览(39)
  • Python: 实现键盘按键绑定(附完整代码)

    Python: 实现键盘按键绑定(附完整代码) 在Python编程中,我们经常需要在程序中为键盘按键绑定特定的操作。这些操作可以是调用函数、移动窗口、执行特定的命令等。在本文中,我们将介绍如何通过使用Python tkinter模块来实现键盘按键绑定功能。 首先,导入所需的模块:

    2024年02月13日
    浏览(28)
  • Python实现信息熵算法——附完整代码

    Python实现信息熵算法——附完整代码 信息熵是信息理论中的一个重要概念,用于描述信息的不确定性。在数据处理领域中,信息熵经常用来评估数据的复杂程度和统计特性。本文将介绍如何用Python实现信息熵算法,并提供附有完整源代码。 首先,我们需要了解信息熵的计算

    2024年02月13日
    浏览(29)
  • 使用Python实现的遗传算法 附完整代码

    遗传算法是模仿自然界生物进化机制发展起来的随机全局搜索和优化方法,它借鉴了达尔文的进化论和孟德尔的遗传学说。其本质是一种高效、并行、全局搜索的方法,它能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应的控制搜索过程以求得最优解。遗传算法

    2024年02月02日
    浏览(36)
  • Python编程实现网站视频抓取(附完整代码)

    Python编程实现网站视频抓取(附完整代码) 在当今互联网时代,视频成为了主流的传媒形式之一。然而,有些视频并不支持在线下载,在这种情况下,我们可以使用Python编写程序来实现视频的抓取和保存。本文就来介绍如何使用Python编程实现网站视频的抓取,并附上完整的源

    2024年02月12日
    浏览(34)
  • Python实现平均值算法(含完整代码)

    Python实现平均值算法(含完整代码) 平均值算法是统计学中基础且常用的方法之一,它可以计算出一组数据的平均数。在Python中,我们可以通过简单的代码实现这个算法。 首先,让我们来看一下平均值算法的公式: mean = (x1 + x2 + … + xn) / n 其中,x1、x2、…、xn表示数据集中

    2024年02月08日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包