截图

  • 截图自动保存
    • 定时截图保存

截图自动保存

双击快速截图并自动保存。
时间戳相关
截图方法比较
截图的代码如下,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工具-截图自动保存相关推荐

  1. python 实现截图自动存入Excel表

    python 实现截图自动存入Excel表 首先我先在桌面新建一个test.xls文件 import keyboard #监听按键库 from PIL import ImageGrab #图像处理库 ...

  2. 用python实现一个自动保存复制图片的功能

    由于经常写作,需要为文章准备一些配图,通常这些配图是从百度图片搜索里准备的.在准备图片时,我遇到了两个小麻烦: 有些图片的格式是webp,需要在另存为时指定格式 有些图片需要剪切,剪切后不能直接复制到 ...

  3. Win10屏幕截图自动保存方法

    我在Win10系统下屏幕截图一般直接用键盘上的PrtSc键,这时候截图会自动保存在剪贴板里,但是剪贴板默认保存一项内容,所以如果后续有新截图,这张截图就会被覆盖.如果想在这种前提下保存截图,就需要打开 ...

  4. python基础--截图提取图中文字存入Excel表

    python 实现截图自动存入Excel表 首先我先在桌面新建一个test.xls文件 import keyboard #监听按键库 from PIL import ImageGrab #图像处理库 ...

  5. picpick截图工具自动保存自动命名设置的方法

    描述:picpick截图工具自动保存自动命名设置的方法 步骤: 右键图标,程序选项 文件名选项,可以设置自动保存的文件名 自动保存选项,勾选自动保存图像选项,选择保存路径

  6. C#Winform+WindowsAPI做个剪贴板无缝自动保存器(视频截图利器)

    C#Winform+WindowsAPI做个剪贴板无缝自动保存器(视频截图利器) (本文最新代码已上传到GitHub,地址在(https://github.com/bitzhuwei/Clipboar ...

  7. python ocr 文字识别软件,Python文字截图识别OCR工具实例解析

    一.简介 你一定用过那种"OCR神器",可以把图片中的文字提取出来,极大的提高工作效率. 今天,我们就来做一款实时截图识别的小工具.顾名思义,运行程序时,可以实时把你截出来的图片中 ...

  8. vscode配置python环境以及使用json文件配置默认解释器、代码自动保存、pydesigner、kite

    真香警告!感觉这篇博客流程下来,我从一个pycharm小迷弟变成了vscode小迷弟!vscode真的非常方便,其实主要是因为它的轻量级,运行速度快,有的时候使用pycharm更换python解释器要 ...

  9. python怎么保存到桌面_python3应用windows api对后台程序窗口及桌面截图并保存的方法...

    python的版本及依赖的库的安装 #版本python 3.7.1 pip install pywin32==224 pip install numpy==1.15.3 pip install ope ...

  10. python资料百度网盘-python自动保存百度盘资源到百度盘中的实例代码

    本实例的实现逻辑是,应用selenium UI自动化登录百度盘,读取存储百度分享地址和提取码的txt文档,打开百度盘分享地址,填入提取码,然后保存到指定的目录中 全部代码如下: # -*-coding ...

最新文章

  1. 【Unity/Kinect】获取预制的手势信息KinectInterop.HandState
  2. 你的微服务敢独立交付么?
  3. 机器学习导论(张志华):主元分析
  4. 高级C语言教程编码风格
  5. Hibernate_13_QBC查询
  6. iOS self 和 super 学习
  7. 拿来就能用!行,这本 Python 书彻底火了!
  8. WinLogon事件通知包编程
  9. 利用Samba-Winbind组件进行Linux加windows域
  10. csv文件python是怎么输入的,python怎么读取和写入csv文件
  11. 多模态融合算法——Multimodal Compact Bilinear Pooling
  12. The proxy server received an invalid response from an upstream server.
  13. java 加入环境变量_JAVA添加环境变量
  14. steam安装包_Steam已经绑定了令牌,为什么还会频繁被盗?
  15. 数据库mysql从入门到放弃
  16. 江苏高中考计算机,【江苏985录取率】_各省高考985录取率排名,江苏最让人“心疼”,倒数第二...
  17. 面试官最不喜欢不认同的5个跳槽理由
  18. ucenter 简单分析与同步机制
  19. 《基础会计学》|绪论二 - 会计核算环节与会计核算方法
  20. 狼人杀(身份随机分配)

热门文章

  1. Retina 显示屏的网页图片兼容方案
  2. 【STM32】ADC的DMA方式采集(16通道)
  3. 一只小野鸭的超能量(超有启发性)
  4. Nexmoe 博客主题的设计理念
  5. 【深度学习】3:BP神经网络与MNIST数据集实现手写数字识别
  6. sony相机二次开发sdK C语言,sdk与开放API协议支持二次开发的摄像头
  7. 优动漫PAINT提高创作效率的小技巧——中间色与近似色
  8. java重新温习基础笔记
  9. flex:1代表什么
  10. JS原型与原型链总结