通过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下如何让web元素的生成更简单的分析
Jul 17 Python
Python创建日历实例
Aug 21 Python
python中zip和unzip数据的方法
May 27 Python
Python利用operator模块实现对象的多级排序详解
May 09 Python
python微信跳一跳系列之色块轮廓定位棋盘
Feb 26 Python
Python 中的Selenium异常处理实例代码
May 03 Python
详解python中@的用法
Mar 27 Python
使用Python3内置文档高效学习以及官方中文文档
May 19 Python
Python实现的服务器示例小结【单进程、多进程、多线程、非阻塞式】
May 23 Python
Python通过正则库爬取淘宝商品信息代码实例
Mar 02 Python
Django实现将views.py中的数据传递到前端html页面,并展示
Mar 16 Python
PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题
Apr 03 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解析http获取的json字符串变量总是空白null
2015/03/02 PHP
检测codeigniter脚本消耗内存情况的方法
2015/03/21 PHP
PHP中文竖排转换实现方法
2015/10/23 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
2019/06/12 PHP
PHP商品秒杀问题解决方案实例详解【mysql与redis】
2019/07/22 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
2019/12/20 PHP
JavaScript 闭包深入理解(closure)
2009/05/27 Javascript
javascript Demo模态窗口
2009/12/06 Javascript
jquery插件lazyload.js延迟加载图片的使用方法
2014/02/19 Javascript
js特殊字符过滤的示例代码
2014/03/05 Javascript
浅谈JavaScript中setInterval和setTimeout的使用问题
2015/08/01 Javascript
jQuery插件WebUploader实现文件上传
2016/11/07 Javascript
基于jQuery实现滚动切换效果
2016/12/02 Javascript
纯JS单页面赛车游戏制作代码分享
2017/03/03 Javascript
xmlplus组件设计系列之图标(ICON)(1)
2017/05/05 Javascript
angularJS开发注意事项
2018/05/26 Javascript
laravel-admin 与 vue 结合使用实例代码详解
2019/06/04 Javascript
Vue中函数防抖节流的理解及应用实现
2020/04/24 Javascript
[06:49]2018DOTA2国际邀请赛寻真——VirtusPro傲视群雄
2018/08/12 DOTA
跟老齐学Python之玩转字符串(2)
2014/09/14 Python
Python字符串处理实现单词反转
2017/06/14 Python
python 获取当天每个准点时间戳的实例
2018/05/22 Python
opencv resize图片为正方形尺寸的实现方法
2019/12/26 Python
浅析HTML5的WebSocket与服务器推送事件
2016/02/19 HTML / CSS
泰国演唱会订票网站:StubHub泰国
2018/02/26 全球购物
维多利亚的秘密官方旗舰店:VICTORIA’S SECRET
2018/04/02 全球购物
德国汽车零件和汽车配件网上商店:kfzteile24
2018/11/14 全球购物
Famous Footwear加拿大:美国多品牌运动休闲鞋店
2018/12/05 全球购物
《云房子》教学反思
2014/04/20 职场文书
团队激励口号
2014/06/06 职场文书
2014年酒店工作总结范文
2014/11/17 职场文书
社区文明创建工作总结2015
2015/04/21 职场文书
中国合伙人观后感
2015/06/02 职场文书
茶花女读书笔记
2015/06/29 职场文书
MySQL中VARCHAR与CHAR格式数据的区别
2021/05/26 MySQL
python运算符之与用户交互
2022/04/13 Python