Skip to content

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Shorts · 截图标注工具

English

跨平台截图标注工具(macOS / Windows),Python + PyQt6 单代码库。区域 / 窗口 / 全屏 / 滚动长截图、GIF 与 MP4 录制、OCR、十余种标注工具。

下载

到 Releases 下载对应平台安装包:

文件 平台
Shorts.exe Windows x64,单文件直接运行
Shorts-Windows-x64.zip Windows x64(同上,压缩版)
Shorts-macOS-arm64.dmg macOS Apple Silicon,双击挂载后拖入「应用程序」
Shorts-macOS-arm64.zip macOS Apple Silicon(解压即 .app,压缩版)

macOS 包为 adhoc 签名:首次打开被 Gatekeeper 拦时,右键 App →「打开」,或在终端执行 xattr -cr /Applications/Shorts.app。Windows 未签名,SmartScreen 提示时选「仍要运行」。

功能

  • 区域截图 — 拖拽选区,自动吸附窗口边缘
  • 窗口截图 — 鼠标悬停高亮,单击截取整窗
  • 全屏截图
  • 滚动截图 — 滚动内容自动拼接成长图(NCC + Sobel 边缘匹配,支持自动滚动模式与滚轮里程计先验)
  • GIF / MP4 录制 — 选区录制,带点击涟漪与录制中标注
  • OCR 文字识别 — macOS 原生 Vision(中英文),识别结果直接复制
  • 标注工具 — 箭头、直线(实/虚线)、矩形、椭圆、文字、画笔、高亮、马赛克(块状/高斯)、序号、取色器、标注描边
  • 复制到剪贴板 / 保存文件、开机自启、Retina 2x 清晰输出

平台功能差异

核心截图 / 标注 / GIF 跨平台一致;以下功能因系统能力不同存在差异:

功能 macOS Windows
区域 / 窗口 / 全屏截图 ✅ ✅
标注工具(全系列) ✅ ✅
滚动截图(手动滚动 + 自动拼接) ✅ ✅
滚动截图 · 自动滚动模式 ✅(CGEvent 合成滚轮,需辅助功能权限) ✅(pyautogui,未充分实测)
滚轮里程计先验(快滚防错拼) ✅(NSEvent 监听,需输入监控权限) ❌(纯视觉匹配,仍可用)
OCR 文字识别 ✅ 原生 Vision(中英文) ❌
GIF 录制(点击涟漪 + 录制中标注) ✅ ✅
MP4 导出 ✅ 需自装 ffmpeg ✅ 需自装 ffmpeg
Retina / 高 DPI 清晰输出 ✅ 2x ✅(跟随系统缩放)
全局热键 双击 Cmd 键 Ctrl + Alt + A
开机自启 ✅ ✅
系统权限 辅助功能 / 屏幕录制 / 输入监控 无需

安装与运行

pip install -r requirements.txt
python main.py

macOS 下 OCR 功能需编译 Swift 辅助程序(已预编译 arm64 二进制;其他架构需自编译):

swiftc core/ocr_helper.swift -o core/ocr_helper -O

快捷键

平台 全局截图快捷键
Windows Ctrl + Alt + A
macOS 双击 Cmd 键

macOS 权限(首次使用需手动授权)

这个工具深度依赖 macOS 系统能力,首次使用请在 系统设置 → 隐私与安全性 中授权:

权限 用途 不授权的后果
辅助功能 全局热键(双击 Cmd)、自动滚动 热键不触发;自动滚动无法滚动目标页面
屏幕录制 截图 / GIF / OCR 截图全黑
输入监控 滚动截图的滚轮里程计 滚动拼接退化为纯视觉匹配(仍可用)

提示:开发迭代中频繁重打包会改变 adhoc 签名,macOS 的 TCC 授权可能失效,需在系统设置中把 Shorts 的开关关掉再重新打开。

打包

pyinstaller shorts_app.spec

Windows 产出 dist/Shorts.exe;macOS 产出 dist/Shorts.app(adhoc 签名,本地使用可直接打开;分发需自行签名/公证)。

已知问题

  • 滚动截图在极端重复版式(如无文字的等距色块列表)上存在原理性歧义,自动滚动模式可规避
  • 首次截图偶发崩溃(低频,待复现)

许可证

MIT

About

Cross-platform screenshot & annotation tool: scrolling capture, GIF recording, OCR (macOS/Windows, Python+PyQt6) | 跨平台截图标注工具:滚动长截图/GIF录制/OCR

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages