通过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之Python文档
Oct 10 Python
Python中的元类编程入门指引
Apr 15 Python
Django框架中处理URLconf中特定的URL的方法
Jul 20 Python
关于Python中Inf与Nan的判断问题详解
Feb 08 Python
numpy.random.seed()的使用实例解析
Feb 03 Python
简单了解python反射机制的一些知识
Jul 13 Python
基于Python的Jenkins的二次开发操作
May 12 Python
Django实现前台上传并显示图片功能
May 29 Python
Python字符串split及rsplit方法原理详解
Jun 29 Python
Matplotlib.pyplot 三维绘图的实现示例
Jul 28 Python
pandas中DataFrame数据合并连接(merge、join、concat)
May 30 Python
Python排序算法之插入排序及其优化方案详解
Jun 11 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
根德Grundig S400/S500/S700电路分析
2021/03/02 无线电
php下实现折线图效果的代码
2007/04/28 PHP
php判断文件夹是否存在不存在则创建
2015/04/09 PHP
php实现的xml操作类
2016/01/15 PHP
使用jQuery全局事件ajaxStart为特定请求实现提示效果的代码
2010/12/30 Javascript
jquery怎样实现ajax联动框(二)
2013/03/08 Javascript
JS实现在页面随时自定义背景颜色的方法
2015/02/27 Javascript
jQuery中$(function() {});问题详解
2015/08/10 Javascript
Jquery 全选反选实例代码
2015/11/19 Javascript
jquery中键盘事件小结
2016/02/24 Javascript
jquery遍历json对象集合详解
2016/05/18 Javascript
全面解析JavaScript里的循环方法之forEach,for-in,for-of
2020/04/20 Javascript
webpack+vue中使用别名路径引用静态图片地址
2017/11/20 Javascript
vue 插值 v-once,v-text, v-html详解
2018/01/19 Javascript
vue如何在自定义组件中使用v-model
2018/05/14 Javascript
Javascript实现异步编程的过程
2018/06/18 Javascript
angular 内存溢出的问题解决
2018/07/12 Javascript
webstrom Debug 调试vue项目的方法步骤
2018/07/17 Javascript
Vue实现美团app的影院推荐选座功能【推荐】
2018/08/29 Javascript
vue里如何主动销毁keep-alive缓存的组件
2019/03/21 Javascript
Auto.JS实现抖音刷宝等刷视频app,自动点赞,自动滑屏,自动切换视频功能
2020/05/08 Javascript
js实现翻牌小游戏
2020/07/31 Javascript
jQuery实现开关灯效果
2020/08/02 jQuery
使用Python设置tmpfs来加速项目的教程
2015/04/17 Python
详解字典树Trie结构及其Python代码实现
2016/06/03 Python
Python正则表达式使用范例分享
2016/12/04 Python
Python探索之爬取电商售卖信息代码示例
2017/10/27 Python
浅谈Tensorflow由于版本问题出现的几种错误及解决方法
2018/06/13 Python
基于html5 canvas做批改作业的小插件
2020/05/20 HTML / CSS
类成员函数的重载、覆盖和隐藏区别
2016/01/27 面试题
本科应届生求职信
2014/08/05 职场文书
学校党委副书记个人对照检查材料思想汇报
2014/09/28 职场文书
保密法制宣传月活动总结
2015/05/07 职场文书
2015年高三教学工作总结
2015/07/21 职场文书
使用kubeadm命令行工具创建kubernetes集群
2022/03/31 Servers
Debian11 Xfce终端光标的颜色怎么设置?
2022/08/14 数码科技