Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ScreenshotLite 极速截图工具

ScreenshotLite 是一款以速度为第一原则的 Windows 屏幕截图工具:按下热键即可完成截图并保存,全流程毫秒级完成,确保快速捕捉所需画面。该工具仅专注于截图与保存这一项功能。

热键截图演示

  • 极速保存:热键按下 → 抓屏 → 编码 → 落盘,全流程毫秒级完成。底层使用 mss 原生抓屏与 cv2.imencode 直接编码写入,无缩放、无转码、无多余处理。
  • 极简无冗余:仅提供截图功能,不捆绑录屏、编辑、云同步等非必要功能;界面简洁、逻辑单一,简单可靠。
  • 轻量常驻:单文件免安装,常驻系统托盘,全局热键随时可用,不干扰正常工作。

功能特性

  • 极速保存:热键触发后即截即存,全流程毫秒级完成,无任何多余步骤。
  • F2 全屏截图:截取鼠标当前所在屏幕;也可通过命令行参数固定抓取指定显示器。
  • F3 框选截图(画面冻结):触发时先冻结当前屏幕画面作为框选背景,再拖拽选择区域,松开鼠标即保存;适用于截取视频等动态画面,可避免框选期间画面持续播放导致截帧错误。
  • ESC 取消框选:框选过程中随时按 ESC 取消。
  • 日期编号保存:在保存目录下按“年月日_编号”命名(如 20260811_1.png),同一天内自动顺延,不覆盖已有图片。
  • GUI 设置面板:点击输入框后按下新按键组合即可录制自定义热键;保存目录支持直接输入或“浏览…”选择;支持设置开机自动启动。
  • 系统托盘常驻:关闭窗口后最小化到托盘,双击托盘图标恢复窗口,热键仍可继续工作。
  • 配置持久化:热键与保存目录保存在 capture_config.json,重启后自动生效。
  • 实时日志:窗口内显示保存路径、图片尺寸、显示器信息等日志。

托盘与日志

环境要求

  • Windows 10 / 11
  • Python 3.8+

安装

git clone https://github.com/toki-2004/ScreenshotLite.git
cd ScreenshotLite
pip install -r requirements.txt

依赖如下:

  • mss:屏幕捕获
  • keyboard:全局热键
  • opencv-python:图像编码与处理
  • numpy:图像数组
  • PyQt5:图形界面与托盘

发布版(免安装)

无需安装 Python 与任何依赖:从 Releases 下载 ScreenshotLite.exe,双击即可运行。该 exe 由 PyInstaller 打包为单文件,配置(capture_config.json)与默认截图目录(input/)均位于 exe 所在目录。

使用方法

直接运行:

python screenshot_lite.py

默认行为:F2 截取鼠标当前所在屏幕(在多显示器环境下尤为便捷)。

指定显示器:

python screenshot_lite.py 1   # 固定抓取 mss 显示器索引 1(主屏)
python screenshot_lite.py 2   # 索引 2(第二块屏幕)

索引不存在时会自动回退到鼠标所在屏幕,并在日志中给出警告。

快捷键

按键 功能
F2 全屏截图(鼠标所在屏幕或命令行指定的显示器)
F3 拖拽框选截图
ESC 取消框选

热键可在 GUI 中自定义:点击“全屏截图/框选截图”输入框,然后按下新按键组合(如 Ctrl+F6),点击“应用设置”即生效并保存。

设置面板

默认保存到程序所在目录下的 input/。可在 GUI 的“保存设置”中修改,点击“应用设置”后立即生效并持久化。

配置文件

设置保存在 capture_config.json

{
  "fullscreen_hotkey": "f2",
  "region_hotkey": "f3",
  "save_dir": "D:/pythonitems/ScreenshotLite/input",
  "autostart": false
}

配置文件缺失或损坏时会自动使用默认设置,不会影响程序启动。“开机自动启动”通过写入当前用户的 Run 注册表键实现。

功能验证

以下功能均已在 Windows + 多显示器环境下实测通过:

  • 全屏截图:鼠标所在屏幕抓取、命令行指定显示器抓取、越界索引回退
  • 框选截图:画面冻结背景、遮罩显示、拖拽选区、松开保存、ESC 取消(保存内容与冻结画面逐像素一致)
  • 日期编号:按 年月日_编号 顺延,如 20260811_1.png;旧命名与其它日期的文件不参与编号
  • 防连发:0.6 秒冷却,按住热键不会重复截图
  • 设置面板:热键录制(如 Ctrl+F6)、保存目录修改、开机自启开关、配置读写与损坏回退
  • 托盘与日志:最小化到托盘、日志窗口输出保存记录与显示器枚举

常见问题

  • 全局热键无效? 请确认程序以普通用户运行即可;若以管理员身份运行其他程序,键盘钩子可能因权限隔离无法生效,建议保持程序与目标程序同一权限级别。
  • 开机自启设置失败? 开机自启写入当前用户的注册表 Run 键,普通权限即可;若仍失败,请以管理员权限运行后重试。
  • 保存中文路径失败? 程序内部使用 cv2.imencode + 二进制写入,已兼容中文/特殊字符路径。
  • 多显示器框选错位? 框选坐标已转换为虚拟桌面绝对坐标,多屏排列下不会错位。

项目结构

ScreenshotLite/
├── screenshot_lite.py      # 主程序
├── dist/ScreenshotLite.exe # 打包后的可执行文件(在 GitHub Releases 提供下载)
├── capture_config.json     # 配置文件(首次运行后生成)
├── input/                  # 默认截图保存目录
└── README.md

许可证

本项目采用 MIT 许可证

About

ScreenshotLite - 轻量 Windows 截图工具(全屏/框选截图、全局热键、托盘、自动编号)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages