python工具-截图自动保存
截图
- 截图自动保存
- 定时截图保存
截图自动保存
双击快速截图并自动保存。
时间戳相关
截图方法比较
截图的代码如下,grab_picture.py
import time
import datetime
import win32gui, win32ui, win32con, win32apidef window_capture(filename):hwnd = 0 # 窗口的编号,0号表示当前活跃窗口# 根据窗口句柄获取窗口的设备上下文DC(Divice Context)hwndDC = win32gui.GetWindowDC(hwnd)# 根据窗口的DC获取mfcDCmfcDC = win32ui.CreateDCFromHandle(hwndDC)# mfcDC创建可兼容的DCsaveDC = mfcDC.CreateCompatibleDC()# 创建bigmap准备保存图片saveBitMap = win32ui.CreateBitmap()# 获取监控器信息MoniterDev = win32api.EnumDisplayMonitors(None, None)w = int(MoniterDev[0][2][2]*1.25)h = int(MoniterDev[0][2][3]*1.25)# print w,h #图片大小# 为bitmap开辟空间saveBitMap.CreateCompatibleBitmap(mfcDC, w, h)# 高度saveDC,将截图保存到saveBitmap中saveDC.SelectObject(saveBitMap)# 截取从左上角(0,0)长宽为(w,h)的图片saveDC.BitBlt((0, 0), (w, h), mfcDC, (0, 0), win32con.SRCCOPY)saveBitMap.SaveBitmapFile(saveDC, filename)
beg = time.time()
'''
for i in range(10):file_date = time.strftime("%Y-%m-%d_%H_%M_%S", time.localtime())file_date = file_date+".jpg"print(file_date)window_capture(file_date )
'''
file_date = time.strftime("%Y-%m-%d_%H_%M_%S", time.localtime())+".jpg"
window_capture(file_date )
#end = time.time()
上述源码中,由于本机是将文字显示比例放大为125%,故这里需乘上1.25,未放大,取消倍率设置。
源码中注释部分为:连续打印10张图(实际上太快,只有1~2张)的
打包前的权限设置:
Win + R : regedit
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System
修改这个路径下的键值:EnableLUA 从1 设置为0
pyinstaller打包相关
打包的命令:
pyinstaller -F -w .\grab_picture.py
参数解释:
-F:打包后只生成单个exe格式文件;
-D:默认选项,创建一个目录,包含exe文件以及大量依赖文件;
-c:默认选项,使用控制台(就是类似cmd的黑框);
-w:不使用控制台;
-p:添加搜索路径,让其找到对应的库;
-i:改变生成程序的icon图标。
打包后,在dist目录下有可执行文件,发送快捷图标至桌面,属性中设置快捷键为Ctrl+Alt+J。即可自动截图并保存,文件名为时间戳。
定时截图保存
记录时间:1000张图片×0.5s=500s
也可以自己改,不同设备上注意修改分辨率设置,,
代码:
import time
import datetime
import win32gui, win32ui, win32con, win32apidef window_capture(filename):hwnd = 0 # 窗口的编号,0号表示当前活跃窗口# 根据窗口句柄获取窗口的设备上下文DC(Divice Context)hwndDC = win32gui.GetWindowDC(hwnd)# 根据窗口的DC获取mfcDCmfcDC = win32ui.CreateDCFromHandle(hwndDC)# mfcDC创建可兼容的DCsaveDC = mfcDC.CreateCompatibleDC()# 创建bigmap准备保存图片saveBitMap = win32ui.CreateBitmap()# 获取监控器信息MoniterDev = win32api.EnumDisplayMonitors(None, None)w = int(MoniterDev[0][2][2]*1.25)h = int(MoniterDev[0][2][3]*1.25)# print w,h #图片大小# 为bitmap开辟空间saveBitMap.CreateCompatibleBitmap(mfcDC, w, h)# 高度saveDC,将截图保存到saveBitmap中saveDC.SelectObject(saveBitMap)# 截取从左上角(0,0)长宽为(w,h)的图片saveDC.BitBlt((0, 0), (w, h), mfcDC, (0, 0), win32con.SRCCOPY)saveBitMap.SaveBitmapFile(saveDC, filename)
beg = time.time()for i in range(1000):time.sleep(0.5)file_date = time.strftime("%Y-%m-%d_%H_%M_%S", time.localtime())file_date = file_date+ str(i) +".jpg"print(file_date)window_capture(file_date)
'''
file_date = time.strftime("%Y-%m-%d_%H_%M_%S", time.localtime())+".jpg"
window_capture(file_date )
'''
print('done!')
#end = time.time()
使用无命令窗口提示参数编译后,想要在截图完毕之前结束,可在任务管理器中结束 grab_picture.exe
python工具-截图自动保存相关推荐
- python 实现截图自动存入Excel表
python 实现截图自动存入Excel表 首先我先在桌面新建一个test.xls文件 import keyboard #监听按键库 from PIL import ImageGrab #图像处理库 ...
- 用python实现一个自动保存复制图片的功能
由于经常写作,需要为文章准备一些配图,通常这些配图是从百度图片搜索里准备的.在准备图片时,我遇到了两个小麻烦: 有些图片的格式是webp,需要在另存为时指定格式 有些图片需要剪切,剪切后不能直接复制到 ...
- Win10屏幕截图自动保存方法
我在Win10系统下屏幕截图一般直接用键盘上的PrtSc键,这时候截图会自动保存在剪贴板里,但是剪贴板默认保存一项内容,所以如果后续有新截图,这张截图就会被覆盖.如果想在这种前提下保存截图,就需要打开 ...
- python基础--截图提取图中文字存入Excel表
python 实现截图自动存入Excel表 首先我先在桌面新建一个test.xls文件 import keyboard #监听按键库 from PIL import ImageGrab #图像处理库 ...
- picpick截图工具自动保存自动命名设置的方法
描述:picpick截图工具自动保存自动命名设置的方法 步骤: 右键图标,程序选项 文件名选项,可以设置自动保存的文件名 自动保存选项,勾选自动保存图像选项,选择保存路径
- C#Winform+WindowsAPI做个剪贴板无缝自动保存器(视频截图利器)
C#Winform+WindowsAPI做个剪贴板无缝自动保存器(视频截图利器) (本文最新代码已上传到GitHub,地址在(https://github.com/bitzhuwei/Clipboar ...
- python ocr 文字识别软件,Python文字截图识别OCR工具实例解析
一.简介 你一定用过那种"OCR神器",可以把图片中的文字提取出来,极大的提高工作效率. 今天,我们就来做一款实时截图识别的小工具.顾名思义,运行程序时,可以实时把你截出来的图片中 ...
- vscode配置python环境以及使用json文件配置默认解释器、代码自动保存、pydesigner、kite
真香警告!感觉这篇博客流程下来,我从一个pycharm小迷弟变成了vscode小迷弟!vscode真的非常方便,其实主要是因为它的轻量级,运行速度快,有的时候使用pycharm更换python解释器要 ...
- python怎么保存到桌面_python3应用windows api对后台程序窗口及桌面截图并保存的方法...
python的版本及依赖的库的安装 #版本python 3.7.1 pip install pywin32==224 pip install numpy==1.15.3 pip install ope ...
- python资料百度网盘-python自动保存百度盘资源到百度盘中的实例代码
本实例的实现逻辑是,应用selenium UI自动化登录百度盘,读取存储百度分享地址和提取码的txt文档,打开百度盘分享地址,填入提取码,然后保存到指定的目录中 全部代码如下: # -*-coding ...
最新文章
- 【Unity/Kinect】获取预制的手势信息KinectInterop.HandState
- 你的微服务敢独立交付么?
- 机器学习导论(张志华):主元分析
- 高级C语言教程编码风格
- Hibernate_13_QBC查询
- iOS self 和 super 学习
- 拿来就能用!行,这本 Python 书彻底火了!
- WinLogon事件通知包编程
- 利用Samba-Winbind组件进行Linux加windows域
- csv文件python是怎么输入的,python怎么读取和写入csv文件
- 多模态融合算法——Multimodal Compact Bilinear Pooling
- The proxy server received an invalid response from an upstream server.
- java 加入环境变量_JAVA添加环境变量
- steam安装包_Steam已经绑定了令牌,为什么还会频繁被盗?
- 数据库mysql从入门到放弃
- 江苏高中考计算机,【江苏985录取率】_各省高考985录取率排名,江苏最让人“心疼”,倒数第二...
- 面试官最不喜欢不认同的5个跳槽理由
- ucenter 简单分析与同步机制
- 《基础会计学》|绪论二 - 会计核算环节与会计核算方法
- 狼人杀(身份随机分配)