通过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中实现字符串类型与字典类型相互转换的方法
Aug 18 Python
Python程序中使用SQLAlchemy时出现乱码的解决方案
Apr 24 Python
python3实现TCP协议的简单服务器和客户端案例(分享)
Jun 14 Python
Python xlwt设置excel单元格字体及格式
Apr 18 Python
学习Python3 Dlib19.7进行人脸面部识别
Jan 24 Python
Python 获取中文字拼音首个字母的方法
Nov 28 Python
python实现AES加密与解密
Mar 28 Python
Python实现定时执行任务的三种方式简单示例
Mar 30 Python
Python3实现的旋转矩阵图像算法示例
Apr 03 Python
Django框架ORM数据库操作实例详解
Nov 07 Python
Django 返回json数据的实现示例
Mar 05 Python
Python dict和defaultdict使用实例解析
Mar 12 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+xml编程之SimpleXML的应用实例
2015/01/24 PHP
PHP微信开发之根据用户回复关键词\位置返回附近信息
2016/06/24 PHP
表单元素的submit()方法和onsubmit事件应用概述
2013/02/01 Javascript
javascript获取当前鼠标坐标的方法
2015/01/10 Javascript
Angular.js如何从PHP读取后台数据
2016/03/24 Javascript
理解javascript对象继承
2016/04/17 Javascript
BootStrap制作导航条实例代码
2016/05/06 Javascript
JSON 的正确用法探讨:Pyhong、MongoDB、JavaScript与Ajax
2016/05/15 Javascript
jQuery控制li上下循环滚动插件用法实例(附demo源码下载)
2016/05/28 Javascript
基于Vuejs实现购物车功能
2016/08/02 Javascript
JS数组操作中的经典算法实例讲解
2017/07/26 Javascript
详解js类型判断
2018/05/22 Javascript
JavaScript实现浅拷贝与深拷贝的方法分析
2018/07/05 Javascript
微信小程序定位当前城市的方法
2018/07/19 Javascript
javascript实现导航栏分页效果
2019/06/27 Javascript
vue中父子组件传值,解决钩子函数mounted只运行一次的操作
2020/07/27 Javascript
使用Mock.js生成前端测试数据
2020/12/13 Javascript
[00:32]2018DOTA2亚洲邀请赛出场——LGD
2018/04/04 DOTA
Python使用defaultdict读取文件各列的方法
2017/05/11 Python
python中计算一个列表中连续相同的元素个数方法
2018/06/29 Python
python使用PIL给图片添加文字生成海报示例
2018/08/17 Python
python调用opencv实现猫脸检测功能
2019/01/15 Python
对Python3 pyc 文件的使用详解
2019/02/16 Python
PyQt5 QListWidget选择多项并返回的实例
2019/06/17 Python
利用Python绘制Jazz网络图的例子
2019/11/21 Python
python 使用shutil复制图片的例子
2019/12/13 Python
pytorch的梯度计算以及backward方法详解
2020/01/10 Python
tensorflow实现二维平面模拟三维数据教程
2020/02/11 Python
Django 实现将图片转为Base64,然后使用json传输
2020/03/27 Python
html5 viewport使用方法示例详解
2013/12/02 HTML / CSS
Conforama瑞士:家具、厨房、电器、装饰
2020/09/06 全球购物
摄影实习自我鉴定
2013/09/20 职场文书
主持人演讲稿范文
2013/12/28 职场文书
党政领导班子群众路线对照检查材料
2014/10/26 职场文书
工作保证书怎么写
2015/02/28 职场文书
Javascript中的解构赋值语法详解
2021/04/02 Javascript