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


Posted in Python onJanuary 17, 2020

这篇文章主要介绍了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抓取某汽车网数据解析html存入excel示例
Dec 04 Python
Python实现的生成自我描述脚本分享(很有意思的程序)
Jul 18 Python
Python实现设置windows桌面壁纸代码分享
Mar 28 Python
关于Python元祖,列表,字典,集合的比较
Jan 06 Python
删除python pandas.DataFrame 的多重index实例
Jun 08 Python
python  Django中的apps.py的目的是什么
Oct 15 Python
python读取目录下最新的文件夹方法
Dec 24 Python
python使用pipeline批量读写redis的方法
Feb 18 Python
python sklearn常用分类算法模型的调用
Oct 16 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
Nov 29 Python
Python GUI库Tkiner使用方法代码示例
Nov 27 Python
Python用tkinter实现自定义记事本的方法详解
Mar 31 Python
PyTorch加载预训练模型实例(pretrained)
Jan 17 #Python
python 正则表达式参数替换实例详解
Jan 17 #Python
Python函数式编程实例详解
Jan 17 #Python
python实现tail -f 功能
Jan 17 #Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
Jan 16 #Python
python对象销毁实例(垃圾回收)
Jan 16 #Python
python读取dicom图像示例(SimpleITK和dicom包实现)
Jan 16 #Python
You might like
PHP清除数组中所有字符串两端空格的方法
2014/10/20 PHP
php使用正则表达式去掉html中的注释方法
2016/11/03 PHP
PHP使用preg_split和explode分割textarea存放内容的方法分析
2017/07/03 PHP
Laravel 5+ .env环境配置文件详解
2020/04/06 PHP
extjs 学习笔记 四 带分页的grid
2009/10/20 Javascript
地址栏传递中文参数乱码在js里用escape转码
2013/08/28 Javascript
JS 删除字符串最后一个字符的实现代码
2014/02/20 Javascript
减少访问DOM的次数提升javascript性能
2014/02/24 Javascript
jquery实现对联广告的方法
2015/02/05 Javascript
表单验证正则表达式实例代码详解
2015/11/09 Javascript
一道关于JavaScript变量作用域的面试题
2016/03/08 Javascript
基于JS实现无缝滚动思路及代码分享
2016/06/07 Javascript
node.js路径处理方法以及绝对路径详解
2021/03/04 Javascript
bootstrap手风琴制作方法详解
2017/01/11 Javascript
JavaScript实现三级联动菜单效果
2017/08/16 Javascript
js中url对象化管理分析
2017/12/29 Javascript
微信小程序收货地址API兼容低版本解决方法
2019/05/18 Javascript
详解小程序云开发数据库
2019/05/20 Javascript
webpack自动打包和热更新的实现方法
2019/06/24 Javascript
Python、Javascript中的闭包比较
2015/02/04 Python
在Python的while循环中使用else以及循环嵌套的用法
2015/10/14 Python
python 爬取微信文章
2016/01/30 Python
python实现csv格式文件转为asc格式文件的方法
2018/03/23 Python
Python Excel处理库openpyxl使用详解
2019/05/09 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
2019/05/15 Python
python连接PostgreSQL数据库的过程详解
2019/09/18 Python
Python 自由定制表格的实现示例
2020/03/20 Python
解决Jupyter Notebook使用parser.parse_args出现错误问题
2020/04/20 Python
python实现在线翻译
2020/06/18 Python
Python requests及aiohttp速度对比代码实例
2020/07/16 Python
css3实现信纸/同学录效果的示例代码
2018/12/11 HTML / CSS
应聘面试自我评价
2014/01/24 职场文书
2014两会优秀的心得体会范文
2014/03/17 职场文书
大学计划书范文800字
2014/08/14 职场文书
遗嘱继承权公证书
2015/01/26 职场文书
关于Nginx中虚拟主机的一些冷门知识小结
2022/03/03 Servers