通过python实现windows桌面截图代码实例

作者:Maple_feng 时间:2023-11-19 03:46:27 

这篇文章主要介绍了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()

来源:https://www.cnblogs.com/angelyan/p/12196143.html

标签:python,windows,桌面,截图
0
投稿

猜你喜欢

  • python 中的@运算符使用

    2023-10-24 22:23:46
  • Python中的基本数据类型介绍

    2023-07-21 22:26:26
  • python pyheatmap包绘制热力图

    2021-02-18 21:35:46
  • 浅析SQL Server中包含事务的存储过程

    2024-01-15 21:27:39
  • Spring+Mybatis+Mysql搭建分布式数据库访问框架的方法

    2024-01-19 07:46:18
  • Python列表删除所有出现元素的两种方法

    2023-03-05 23:24:08
  • Python3读写ini配置文件的示例

    2023-05-29 22:59:21
  • Python删除列表中重复元素的七种方法举例

    2021-08-16 06:10:15
  • Python简单获取网卡名称及其IP地址的方法【基于psutil模块】

    2022-10-07 19:52:15
  • Python 保存矩阵为Excel的实现方法

    2022-07-23 07:05:00
  • Django 通过JS实现ajax过程详解

    2023-08-17 08:00:46
  • python实现向ppt文件里插入新幻灯片页面的方法

    2021-09-01 15:58:22
  • Python基于更相减损术实现求解最大公约数的方法

    2022-10-31 16:13:24
  • Python文件及目录操作实例详解

    2023-11-26 12:50:27
  • 注册表单之电子邮箱

    2008-08-19 17:58:00
  • Django REST 异常处理详解

    2023-06-19 02:40:34
  • Vscode上使用SQL的方法

    2024-01-14 07:02:19
  • Windows安装MySQL8.0.28.0.msi方式(图文详解)

    2024-01-24 14:55:24
  • 10个值得深思的PHP面试题

    2023-11-15 00:35:37
  • 详解Python list和numpy array的存储和读取方法

    2022-05-04 05:58:10
  • asp之家 网络编程 m.aspxhome.com