# CS-screenshot-tool **Repository Path**: chuangtou/cs-screenshot-tool ## Basic Information - **Project Name**: CS-screenshot-tool - **Description**: 桌面应用截图能力 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-28 - **Last Updated**: 2026-08-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 截图助手(Screenshot Tool) 类似 QQ 的桌面截图工具,纯客户端单机运行。**Java + JDK 1.8**,Windows 平台。 截图确认后自动保存到指定目录(按时间戳命名),并同步复制到剪贴板。 ## 功能特性 | 功能 | 说明 | |------|------| | 全局快捷键 | `Ctrl+Alt+A` 呼出截图(JIntellitype 全局钩子) | | 区域截图 | 全屏遮罩 + 拖拽框选,实时显示宽×高 | | 放大镜 | 5 倍放大 + 十字准星,辅助精确定位 | | 标注工具 | 画笔 / 矩形 / 椭圆 / 箭头 / 文字 / 马赛克 | | 撤销重做 | `Ctrl+Z` 撤销、`Ctrl+Y` 重做 | | 自动归档 | 确认后按 `yyyyMMdd_HHmmss_SSS.png` 命名保存 | | 剪贴板 | 确认后自动复制,可直接粘贴到任意应用 | | 系统托盘 | 常驻托盘,支持菜单呼出 / 打开保存目录 / 退出 | | 多显示器 | 支持跨屏截图 | ## 环境要求 - **Windows 7 / 10 / 11** - **JDK 1.8** 及以上(已用 `--release 8` 编译,JDK 8~25 均可运行) ## 快速开始 ### 直接运行(推荐) ```bash java -jar build/screenshot-tool.jar ``` 启动后屏幕右下角托盘出现相机图标,按 **Ctrl+Alt+A** 即可截图。 ### 从源码构建 ```bash # Windows(双击运行即可) build.bat # Linux/macOS ./build.sh # 或使用 Maven(本机装有 Maven 时) mvn clean package ``` 产物均为 `build/screenshot-tool.jar`(含全部依赖与 DLL 的 fat jar)。 ## 使用指南 | 操作 | 方式 | |------|------| | 呼出截图 | `Ctrl+Alt+A` 或双击/右键托盘图标 | | 框选区域 | 鼠标拖拽(松开鼠标确定选区) | | 完成截图 | 双击选区 / 回车 / 工具栏"完成" | | 取消截图 | `Esc` / 鼠标右键 / 工具栏"取消" | | 撤销标注 | `Ctrl+Z` | | 重做标注 | `Ctrl+Y` | | 文字标注 | 选择"文字"工具后点击选区,弹出输入框 | | 马赛克 | 选择"马赛克"工具在选区内涂抹 | ### 工具栏说明 - **工具区**:画笔、矩形、椭圆、箭头、文字、马赛克 - **颜色区**:红 / 绿 / 蓝 / 黑 色块 - **粗细**:点击循环切换 2 / 3 / 5 像素 - **操作区**:撤销、重做、完成、复制、另存、取消 ## 配置说明 程序同目录放置 `config.properties`(内置默认值,无需创建): ```properties # 截图保存目录(相对路径基于程序运行目录,支持 D:/xxx 绝对路径) save.path = screenshots # 截图完成后是否同时复制到剪贴板 copy.clipboard = true ``` > 修改配置后需重启程序生效。 ## 项目结构 ``` screenshot-cs/ ├── build/screenshot-tool.jar # 可运行 fat jar(已构建) ├── lib/jintellitype-1.4.0.jar # 全局热键依赖(内置 DLL) ├── src/main/java/com/screenshot/ │ ├── Main.java # 程序入口(托盘/热键/单实例) │ ├── config/Config.java # 配置加载 │ ├── capture/ScreenCapture.java # Robot 全屏截屏 │ ├── ui/ShotWindow.java # 全屏遮罩截图窗口(核心交互) │ ├── ui/ToolBar.java # 标注工具栏 │ ├── ui/Magnifier.java # 放大镜 │ ├── draw/DrawShape.java # 标注图元模型 │ ├── draw/DrawCanvas.java # 标注绘制/撤销重做 │ └── util/ImageSaver.java # 时间戳保存/剪贴板 ├── test/TestCore.java # 核心逻辑测试(12 项) ├── config.properties # 运行配置 ├── pom.xml # Maven 构建(可选) ├── build.sh / build.bat # 一键构建脚本 └── PRD.md # 需求文档 ``` ## 常见问题 **Q:按 Ctrl+Alt+A 无反应?** A:确认程序已启动(托盘有图标)。全局热键仅支持 Windows;若注册失败(如被其他软件占用),托盘会提示,可用托盘图标呼出。 **Q:截图保存到哪里了?** A:默认在程序运行目录下的 `screenshots/` 文件夹(文件名如 `20260828_150700_123.png`)。可通过 `config.properties` 的 `save.path` 修改,托盘菜单"打开保存目录"可直接查看。 **Q:托盘图标不显示?** A:部分精简版 Windows 系统托盘被折叠,点击托盘区"^"展开即可;若系统不支持托盘(极少数),可用 `java -jar` 正常使用,但无法常驻。 **Q:运行报错提示 headless?** A:当前环境不是 Windows 桌面(如远程终端/服务器),截图助手需要图形界面环境。