通过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算法学习之基数排序实例
Dec 18 Python
Python ORM框架SQLAlchemy学习笔记之关系映射实例
Jun 10 Python
实例讲解Python编程中@property装饰器的用法
Jun 20 Python
django模板结构优化的方法
Feb 28 Python
Python实现的列表排序、反转操作示例
Mar 13 Python
Python之pymysql的使用小结
Jul 01 Python
python 和c++实现旋转矩阵到欧拉角的变换方式
Dec 04 Python
解析PyCharm Python运行权限问题
Jan 08 Python
Python-opencv 双线性插值实例
Jan 17 Python
Python matplotlib图例放在外侧保存时显示不完整问题解决
Jul 28 Python
python3 中使用urllib问题以及urllib详解
Aug 03 Python
python3爬虫中多线程的优势总结
Nov 24 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实现rc4加密算法代码
2012/04/25 PHP
关于PHP递归算法和应用方法介绍
2013/04/15 PHP
php5.2的curl-bug 服务器被php进程卡死问题排查
2016/09/19 PHP
php+mysql开发中的经验与常识小结
2019/03/25 PHP
mapper--图片热点区域高亮组件官方站点
2007/12/22 Javascript
asp.net和asp下ACCESS的参数化查询
2008/06/11 Javascript
JavaScript中两种链式调用实现代码
2011/01/12 Javascript
JavaScript Scoping and Hoisting 翻译
2012/07/03 Javascript
Javascript 检测键盘按键信息及键码值对应介绍
2013/01/03 Javascript
js图片自动轮播代码分享(js图片轮播)
2014/05/06 Javascript
javascript实现给定半径求出圆的面积
2015/06/26 Javascript
浅谈javascript中return语句
2015/07/15 Javascript
jquery实现点击展开列表同时隐藏其他列表
2015/08/10 Javascript
AngularJS实现表单验证功能
2017/01/09 Javascript
微信小程序page的生命周期和音频播放及监听实例详解
2017/04/07 Javascript
nodejs入门教程六:express模块用法示例
2017/04/24 NodeJs
javascript按顺序加载运行js方法
2017/12/01 Javascript
mpvue+vant app搭建微信小程序的方法步骤
2019/02/11 Javascript
Vue.js自定义指令学习使用详解
2019/10/19 Javascript
Vue组件模板的几种书写形式(3种)
2020/02/19 Javascript
js实现页面图片消除效果
2020/03/24 Javascript
python中返回矩阵的行列方法
2018/04/04 Python
Python错误处理操作示例
2018/07/18 Python
详解Django将秒转换为xx天xx时xx分
2019/09/27 Python
Python FTP文件定时自动下载实现过程解析
2019/11/12 Python
numpy创建单位矩阵和对角矩阵的实例
2019/11/29 Python
python实现微信打飞机游戏
2020/03/24 Python
python topk()函数求最大和最小值实例
2020/04/02 Python
求职信模板标准格式范文
2014/02/23 职场文书
会议主持词
2014/03/17 职场文书
园艺专业毕业生求职信
2014/09/02 职场文书
学习三严三实对照检查材料思想汇报
2014/09/22 职场文书
清洁工个人总结
2015/03/04 职场文书
2016寒假假期总结
2015/10/10 职场文书
银行服务理念口号
2015/12/25 职场文书
用position:sticky完美解决小程序吸顶问题的实现方法
2021/04/24 HTML / CSS