通过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使用代理抓取网站图片(多线程)
Mar 14 Python
使用Python的Flask框架实现视频的流媒体传输
Mar 31 Python
PyMongo安装使用笔记
Apr 27 Python
python opencv之SIFT算法示例
Feb 24 Python
python3.4爬虫demo
Jan 22 Python
对python中基于tcp协议的通信(数据传输)实例讲解
Jul 22 Python
python multiprocessing模块用法及原理介绍
Aug 20 Python
解决python使用list()时总是报错的问题
May 05 Python
基于django micro搭建网站实现加水印功能
May 22 Python
浅谈Keras中shuffle和validation_split的顺序
Jun 19 Python
Pandas中DataFrame基本函数整理(小结)
Jul 20 Python
python实现高效的遗传算法
Apr 07 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
40个迹象表明你还是PHP菜鸟
2008/09/29 PHP
探讨Hessian在PHP中的使用分析
2013/06/13 PHP
phpmailer发送邮件之后,返回收件人是否阅读了邮件的方法
2014/07/19 PHP
Array.prototype.concat不是通用方法反驳[译]
2012/09/20 Javascript
replace()方法查找字符使用示例
2013/10/28 Javascript
javascript 构造函数方式定义对象
2015/01/02 Javascript
jQuery中last()方法用法实例
2015/01/06 Javascript
详解Bootstrap glyphicons字体图标
2016/01/04 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
2016/12/13 Javascript
node.js中路由,中间件,ge请求和post请求的参数详解
2017/12/26 Javascript
r.js来合并压缩css文件的示例
2018/04/26 Javascript
js数据类型检测总结
2018/08/05 Javascript
利用百度echarts实现图表功能简单入门示例【附源码下载】
2019/06/10 Javascript
react实现同页面三级跳转路由布局
2019/09/26 Javascript
vue项目中使用bpmn为节点添加颜色的方法
2020/04/30 Javascript
微信小程序开发数据缓存基础知识辨析及运用实例详解
2020/11/06 Javascript
Python实现的检测网站挂马程序
2014/11/30 Python
Python编程入门之Hello World的三种实现方式
2015/11/13 Python
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
2017/07/20 Python
Django REST为文件属性输出完整URL的方法
2017/12/18 Python
Python中的相关分析correlation analysis的实现
2019/08/29 Python
Django与pyecharts结合的实例代码
2020/05/13 Python
使用python实现时间序列白噪声检验方式
2020/06/03 Python
Python流程控制语句的深入讲解
2020/06/15 Python
解决Python import .pyd 可能遇到路径的问题
2021/03/04 Python
Gap英国官网:Gap UK
2018/07/18 全球购物
Camper鞋西班牙官方网上商店:西班牙马略卡岛的鞋类品牌
2019/03/14 全球购物
UNIX命令速查表
2012/03/10 面试题
科室工作个人总结的自我评价
2013/10/29 职场文书
美工的岗位职责
2013/11/14 职场文书
优秀实习自我鉴定
2013/12/04 职场文书
春节请假条
2014/04/11 职场文书
小学班级特色活动方案
2014/08/31 职场文书
2014年大学生党员自我评议
2014/09/22 职场文书
领导干部群众路线对照检查材料
2014/11/05 职场文书
冰峪沟导游词
2015/02/09 职场文书