通过python实现windows桌面截图代码实例

 更新时间:2020年01月17日 08:58:52   作者:Maple_feng  
这篇文章主要介绍了python实现windows桌面截图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了python实现windows桌面截图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

代码实例

import time

import win32api
import win32con
import win32gui
import win32ui


def get_desk():
  # 获取桌面
  hdesktop=win32gui.GetDesktopWindow()

  # 分辨率适配
  width=win32api.GetSystemMetrics(win32con.SM_CXVIRTUALSCREEN)
  height=win32api.GetSystemMetrics(win32con.SM_CYVIRTUALSCREEN)
  left=win32api.GetSystemMetrics(win32con.SM_XVIRTUALSCREEN)
  top=win32api.GetSystemMetrics(win32con.SM_YVIRTUALSCREEN)

  # 创建设备描述表
  desktop_dc=win32gui.GetWindowDC(hdesktop)
  img_dc=win32ui.CreateDCFromHandle(desktop_dc)

  # 创建一个内存设备描述表
  mem_dc=img_dc.CreateCompatibleDC()
  screenshot=win32ui.CreateBitmap()
  screenshot.CreateCompatibleBitmap(img_dc,width,height)# 为bitmap开辟空间
  mem_dc.SelectObject(screenshot) # 将截图保存到Bitmap中
  mem_dc.BitBlt((0,0),(width,height),img_dc,(left,top),win32con.SRCCOPY) # 截取从左上角(0,0)长宽为(w,h)的图片

  # 保存到文件
  time_tup=time.localtime(time.time())
  format_time="%Y-%m-%d_%a_%H-%M-%S"
  cur_time=time.strftime(format_time,time_tup)
  screenshot.SaveBitmapFile(mem_dc,'{}.bmp'.format(cur_time))

  # 释放内存
  mem_dc.DeleteDC()
  win32gui.DeleteObject(screenshot.GetHandle())

if __name__ == '__main__':
  get_desk()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 浅析Python是如何实现集合的

    浅析Python是如何实现集合的

    之前我们介绍过字典的实现原理,它底层是基于哈希表实现的,而集合也是如此。本次我们来聊一下 Python 的集合是怎么实现的,希望对大家有所帮助
    2022-12-12
  • Python 实现图像逐像素点取邻域数据

    Python 实现图像逐像素点取邻域数据

    这篇文章主要介绍了Python 实现图像逐像素点取邻域数据,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • python提取log文件内容并画出图表

    python提取log文件内容并画出图表

    这篇文章主要介绍了python提取log文件内容并画出图表,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Python绘图系统之自定义一个坐标设置控件

    Python绘图系统之自定义一个坐标设置控件

    这篇文章主要为大家详细介绍了Python如何编写一个绘图系统,可以实现自定义一个坐标设置控件,文中的示例代码讲解详细,感兴趣的可以了解一下
    2023-08-08
  • 解决Python 遍历字典时删除元素报异常的问题

    解决Python 遍历字典时删除元素报异常的问题

    下面小编就为大家带来一篇解决Python 遍历字典时删除元素报异常的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • python 读取串口数据的示例

    python 读取串口数据的示例

    这篇文章主要介绍了python 读取串口数据的示例,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-11-11
  • python 打印出所有的对象/模块的属性(实例代码)

    python 打印出所有的对象/模块的属性(实例代码)

    下面小编就为大家带来一篇python 打印出所有的对象/模块的属性(实例代码)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • Python利用wxPython制作股票价格查询工具

    Python利用wxPython制作股票价格查询工具

    在当今信息时代,金融市场是一个引人注目的话题。本文将介绍如何使用 Yahoo Finance API、yfinance 模块和 wxPython 库来创建一个简单的全球股市实时价格查询工具,希望大家能够喜欢
    2023-05-05
  • 利用Python3分析sitemap.xml并抓取导出全站链接详解

    利用Python3分析sitemap.xml并抓取导出全站链接详解

    因为最近更换了网址,所以需要在百度站长平台提交网址,不管是主动推送还是手动提交,前提都是要整理网站的链接,手动添加太麻烦,于是就想写个脚本直接抓取全站链接并导出,本文详细介绍的是实现的方法及过程,需要的朋友们一起来看看吧。
    2017-07-07
  • 一篇文章教你学会使用Python绘制甘特图

    一篇文章教你学会使用Python绘制甘特图

    甘特图又称为横道图、条状图,它是以作业排序为目的,将活动与时间联系起来的最早尝试的工具之一,能够很直观地显示项目、进度等和时间的内在关系随着时间的进展情况,在管理和生产活动中被广泛使用
    2021-09-09

最新评论