0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎么在Python中实现截图功能

科技绿洲 来源:Python实用宝典 作者:Python实用宝典 2023-11-03 15:32 次阅读

利用Python自带的win32api和win32con、win32gui等模块,我们能执行许多windows下的自动化操作。比如两个窗口的自动点击操作,从软件中的窗口复制文本到txt中,甚至是截图操作。

今天Python实用宝典就来讲讲怎么在Python中实现截图功能,以下教程默认您已经安装好了Python哦,没有的话见这个教程,python详细安装指南

1.获取窗口左上角及右下角坐标

图片

结果:

  1. F:push20190929>python 1.py

  2. (349,83,1549,1013)

其中窗口信息(x1, y1, x2, y2),(x1, y1)是窗口左上角的坐标,(x2, y2)是窗口右下角的坐标。我们可以利用这个信息配合PIL进行截图。但是在这之前,我们还要解决两个问题:

  1. 该窗口并不在当前的界面上,被其他的软件覆盖到底层中,这时候需要 高亮窗口
  2. 该窗口 被最小化怎么办

2.win32gui 高亮窗口

为了使得被叠在底层的窗口能放到最上层显示,我们需要拿到窗口的handle,对其执行高亮操作,其实很简单,我们刚刚获得坐标信息的时候已经得到handle了,只需要做一下简单的更改即可。

图片

3. 还原最小化窗口

还有一种特殊情况就是窗口被缩小了,这时候我们就需要还原最小化窗口,其实也非常简单,只要利用win32gui和win32con向该窗口发送一个信息即可。

图片

效果如图所示:

图片

4.截图

有了PIL模块和窗口的坐标后,我们想截图可非常简单。PIL 模块安装:
pip install pillow
安装完就可以试一下我们的完整代码了,如下:

图片

这个功能可好用了,比如说你需要监控一个窗口的运行状况,不可能时时刻刻都去观察它,你可以使用while循环不断调用我们的窗口截图脚本,先截图进行保存,不仅如此,它还能扩展到非常多不可思议的操作哦!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模块
    +关注

    关注

    7

    文章

    2695

    浏览量

    47431
  • WINDOWS
    +关注

    关注

    3

    文章

    3541

    浏览量

    88623
  • 自动化
    +关注

    关注

    29

    文章

    5562

    浏览量

    79239
  • python
    +关注

    关注

    56

    文章

    4792

    浏览量

    84627
  • 截图
    +关注

    关注

    0

    文章

    21

    浏览量

    4103
收藏 人收藏

    评论

    相关推荐

    截图功能打包后异常

    各位,我用labview实现截图功能软件的开发环境下,可以正常截图,但是生成应用程序后,截图
    发表于 03-21 15:14

    DM368的截图功能

    请教一下DM368的DVSDK的demo有没有截图和录像功能的代码?
    发表于 06-21 11:52

    请问Python如何实现vlookup函数的功能

    vlookup函数功能非常强大,那Python如何实现
    发表于 11-06 06:11

    windows下安装python linux下安装python masOS下安装python

    hello.py,代码内容如下所示。print('hello, world!')运行程序python hello.py或python3 hello.py结果练习1.Python交互式
    发表于 06-11 16:59

    如何使用python的serial模块实现基本的串口数据传输功能

    如何使用串口实现和单片机数据互传?如何使用python的serial模块实现基本的串口数据传输功能
    发表于 02-22 07:46

    介绍Python 3 的功能 让人轻松地从Python 2迁移到Python 3

    为了使初学者能够轻松地从 Python 2 向 Python 3 实现迁移,我收集了一些 Python 3 的功能,希望对大家有所帮助。
    的头像 发表于 01-31 15:11 4498次阅读

    Python语言人工智能功能及优势

    其他语言制作的各种模块轻松地联结在一起。本文主要详解Python语言人工智能功能及优势,具体的跟随小编来详细的了解一下。
    发表于 05-22 14:29 1.2w次阅读

    iPhone怎样长截图

    iOS的优秀毋庸多言,但这并不代表iOS无所不能。一些小细节小功能上,iOS表现得不那么令人满意,例如在截屏方面,iOS很多地方都令人头疼。例如,如何在iPhone上实现截图,就让
    的头像 发表于 01-08 10:31 4206次阅读

    如何使用python实现截图自动存入Excel表

    如何使用python实现截图自动存入Excel表
    的头像 发表于 02-05 12:13 7250次阅读

    Anaconda安装python包seaborn

    Anaconda安装python包seaborn(现代电源技术题库)-Anaconda安装pyt
    发表于 09-18 15:01 5次下载
    <b class='flag-5'>在</b>Anaconda<b class='flag-5'>中</b>安装<b class='flag-5'>python</b>包seaborn

    抽样Python是如何实现

    今天来和大家聊聊抽样的几种常用方法,以及Python是如何实现的。
    的头像 发表于 08-05 10:59 1206次阅读

    Python实现更简单好用的函数运算缓存

    我们即将学习的是:Python实现更简单好用的函数运算缓存。 函数运算缓存,顾名思义就是我们可以针对指定的函数,让其记住过往参数输入和返回结果,使得后续接收到相同的参数时跳过函数运
    的头像 发表于 08-05 11:05 995次阅读

    Pythontelnetlib模块的基本使用

    telnetlib 是 Python 标准库的一个模块,它提供了 Telnet 协议的客户端功能。使用 telnetlib 模块,我们可以 Py
    的头像 发表于 05-04 14:27 8067次阅读

    如何使用win32api实现自动唤醒并截图的操作

    利用Python自带的win32api和win32con、win32gui等模块,我们能执行许多windows下的自动化操作。比如两个窗口的自动点击操作,从软件的窗口复制文本到txt,甚至是
    的头像 发表于 10-30 11:13 911次阅读
    如何使用win32api<b class='flag-5'>实现</b>自动唤醒并<b class='flag-5'>截图</b>的操作

    PythonAI的应用实例

    Python人工智能(AI)领域的应用极为广泛且深入,从基础的数据处理、模型训练到高级的应用部署,Python都扮演着至关重要的角色。以下将详细探讨Python
    的头像 发表于 07-19 17:16 1057次阅读