Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

轻截图 KaiSnap

轻截图(KaiSnap)是一个面向 Windows 10/11 的轻量截图与离线文字识别工具。程序不上传截图,不依赖云端接口;优先使用本地 Tesseract 中英文模型,组件不可用时回退系统 Windows OCR。

功能

  • 跨显示器区域截图与全屏截图
  • 鼠标悬停自动识别窗口,单击截取;优先离屏渲染被遮挡窗口
  • Ctrl+Shift+S 快速截图
  • Ctrl+Shift+T 框选后识别并复制文字
  • 自动清理中文 OCR 字符间的多余空格,同时保留英文与数字间距
  • 自动校正常见中文语境中的半角标点
  • ASCII/文件名区域自动使用英文 OCR 二次复核,改善下划线和特殊符号识别
  • 按文字坐标合并中英文模型并保留原始换行,修复拆开的 OCR 缩写和全角文件名符号
  • 内置 Tesseract 中英文高精度 OCR,改善文件名、连续数字、百分号和特殊符号
  • 抓屏前等待主窗口完全隐藏,截图中不会包含轻截图自身
  • 截图后就地显示浮动工具栏:矩形、椭圆、箭头、画笔、高亮、马赛克、文本、OCR、撤销、保存、置顶、复制和取消;工具栏空间不足时自动显示在选区上方
  • 截图复制、PNG/JPEG 保存
  • 截图置顶贴图,支持滚轮缩放、拖动移动,右键或双击关闭
  • 框选区域录屏,实时写入无音频 MJPEG AVI,独立控制条停止并保存
  • 3 秒/5 秒延时截图
  • 系统托盘运行,闲置资源占用低
  • 高 DPI 和多显示器适配

使用

请从 GitHub Releases 下载 KaiSnap-1.0.zip,完整解压后运行 KaiSnap.exe。不要只移动 EXE,也不要删除或移动同目录下的 ocr 文件夹。单击托盘图标开始截图,右键托盘图标可使用全部功能。

OCR 支持的语言取决于 Windows 已安装的语言包。可在“设置 → 时间和语言 → 语言和区域”中添加中文、英文等语言。

窗口截图优先使用 Windows PrintWindow 获取被遮挡内容;受 DRM 保护的视频、部分独占 GPU 表面可能拒绝离屏捕获,此时程序会回退到可见画面截图。录屏当前为 10 FPS MJPEG AVI,不录制声音。

下载版本说明

GitHub 源码仓库不直接提交 release 和测试模型目录:

  • release 是本地构建和发布产物,其中的 Tesseract 程序与语言模型体积较大,完整成品统一放在 GitHub Releases。
  • tests 只包含开发阶段的 OCR、视频写入测试程序,运行 KaiSnap 不需要它;其中的测试 OCR 模型不会提交到仓库。
  • Releases 中的 KaiSnap-1.0.zip 是推荐下载版本,包含 KaiSnap.exeocr/tesseract.exechi_sim 中文模型、eng 英文模型、README 和第三方声明。

如果只下载源码自行构建,build.ps1 只生成 KaiSnap.exe,不会自动下载 Tesseract 和语言模型。此时截图、标注、贴图、窗口截图和录屏仍可正常使用;OCR 会回退到 Windows OCR,识别精度取决于系统安装的语言包。若系统也没有可用的 OCR 语言包,文字识别功能将不可用,但不会影响其他截图功能。

构建

项目目录

KaiSnap/
├─ src/                         正式源码和 Windows 清单
├─ scripts/                     编译与打包脚本
│  ├─ build.ps1
│  └─ package.ps1
├─ tests/                       开发测试程序,不参与正式构建
├─ release/                     本地生成的 EXE、OCR 组件和 ZIP,不提交 Git
├─ README.md
└─ THIRD_PARTY_NOTICES.md

编译 EXE

需要 Windows 10/11、.NET Framework 4.x 和 Windows 10/11 SDK。项目不使用 NuGet。在项目根目录运行:

.\scripts\build.ps1

成功后生成 release/KaiSnap.exe。这个命令只编译程序,不下载 OCR 组件。

生成完整发布包

先确认 release/ocr 中已有 Tesseract 和两个语言模型,然后运行:

.\scripts\package.ps1

脚本会检查所有必需文件,缺少任何 OCR 组件时会停止并给出具体路径;检查通过后生成 release/KaiSnap-1.0.zip

若要制作与 GitHub Release 相同的高精度发布包,需要自行准备 Tesseract 4.1.1,并按以下结构放置:

release/
├─ KaiSnap.exe
└─ ocr/
   ├─ tesseract.exe
   └─ tessdata/
      ├─ chi_sim.traineddata
      └─ eng.traineddata

设计参考

交互与功能边界参考了以下成熟项目;本项目代码为独立实现,未复制其源代码:

  • ShareX(GPL-3.0):区域捕获、任务流和快捷键设计
  • Flameshot(GPL-3.0):捕获后就地标注体验
  • ksnip(GPL-2.0):轻量标注工具组合
  • Text Grab(MIT):基于 Windows OCR 的本地文字提取工作流

系统要求

  • Windows 10 1809 或更高版本,推荐 Windows 11
  • .NET Framework 4.7.2 或更高版本
  • 推荐使用 Releases 中自带的 Tesseract 中英文模型;缺少本地模型时,OCR 回退需要至少一个 Windows OCR 语言包

About

轻量、离线的 Windows 截图工具,支持 OCR 文字识别、图片标注、置顶贴图、窗口截图和区域录屏。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages