通过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关键字and和or用法实例
May 28 Python
python妹子图简单爬虫实例
Jul 07 Python
Python实现删除列表中满足一定条件的元素示例
Jun 12 Python
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
Sep 22 Python
利用Python将数值型特征进行离散化操作的方法
Nov 06 Python
Python实现监控Nginx配置文件的不同并发送邮件报警功能示例
Feb 26 Python
详解在Python中以绝对路径或者相对路径导入文件的方法
Aug 30 Python
如何使用python进行pdf文件分割
Nov 11 Python
Python如何使用paramiko模块连接linux
Mar 18 Python
TensorFlow keras卷积神经网络 添加L2正则化方式
May 22 Python
Python 如何创建一个线程池
Jul 28 Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
Oct 27 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
解决GD中文乱码问题
2007/02/14 PHP
模板引擎正则表达式调试小技巧
2011/07/20 PHP
php 如何禁用eval() 函数实例详解
2016/12/01 PHP
PHP-CGI远程代码执行漏洞分析与防范
2017/05/07 PHP
网页图片延时加载的js代码
2010/04/22 Javascript
jQuery Selector选择器小结
2010/05/06 Javascript
jQuery学习笔记 操作jQuery对象 文档处理
2012/09/19 Javascript
jquery表单验证插件(jquery.validate.js)的3种使用方式
2015/03/28 Javascript
Boostrap入门准备之border box
2016/05/09 Javascript
jQuery实现点击弹出背景变暗遮罩效果实例代码
2016/06/24 Javascript
jQuery和CSS仿京东仿淘宝列表导航菜单
2017/01/04 Javascript
JavaScript运动框架 多值运动(四)
2017/05/18 Javascript
JSON 数据格式详解
2017/09/13 Javascript
JS获取日期的方法实例【昨天,今天,明天,前n天,后n天的日期】
2017/09/28 Javascript
详解vue-meta如何让你更优雅的管理头部标签
2018/01/18 Javascript
vue axios封装及API统一管理的方法
2019/04/18 Javascript
vue设置导航栏、侧边栏为公共页面的例子
2019/11/01 Javascript
Vue两个版本的区别和使用方法(更深层次了解)
2020/02/16 Javascript
Python cx_freeze打包工具处理问题思路及解决办法
2016/02/13 Python
Python实现字典依据value排序
2016/02/24 Python
解决python3.5 正常安装 却不能直接使用Tkinter包的问题
2019/02/22 Python
Python字符串的常见操作实例小结
2019/04/08 Python
python获取全国城市pm2.5、臭氧等空气质量过程解析
2019/10/12 Python
python实现删除列表中某个元素的3种方法
2020/01/15 Python
python 实现字符串下标的输出功能
2020/02/13 Python
Opencv图像处理:如何判断图片里某个颜色值占的比例
2020/06/03 Python
ITK 实现多张图像转成单个nii.gz或mha文件案例
2020/07/01 Python
HTML5引入的新数组TypedArray介绍
2012/12/24 HTML / CSS
canvas像素点操作之视频绿幕抠图
2018/09/11 HTML / CSS
自荐信格式范文
2013/10/07 职场文书
数学系个人求职信范文
2014/01/30 职场文书
学校募捐倡议书
2014/05/14 职场文书
卖车协议书范例
2014/09/16 职场文书
幼儿园大班个人总结
2015/02/28 职场文书
初二英语教学反思
2016/02/15 职场文书
Nginx使用Lua模块实现WAF的原理解析
2021/09/04 Servers