logo
0
0
Login
shakugannosaints<787766029@qq.com>
Update README.md

IMScreenNotation

屏幕标注工具

一款基于PyQt5开发的强大屏幕标注工具,支持多种绘图工具和自定义选项,适用于屏幕截图标注、在线教学演示和演讲辅助等场景。

安装与使用

方法一:直接使用可执行文件 (windows)

  1. 下载最新的发布版本
  2. 运行main.exe

方法二:从源代码运行

  1. 克隆或下载代码库
  2. 安装依赖:
    pip install PyQt5 pynput
    或者
    pip install -r requirements.txt
  3. 运行程序:
    python main.py

构建

  1. windows:直接使用build_optimized.py即可。注意使用目录中的spec文件。

功能特点

多样化的绘图工具

  • 直线:绘制直线
  • 矩形:绘制矩形框
  • 圆形:绘制圆形
  • 箭头:绘制带箭头的线条
  • 自由绘制:手绘任意形状
  • 填充绘制:绘制并填充闭合区域
  • :绘制小点标记
  • 激光笔:模拟激光笔效果,短暂显示后消失

高级绘图属性

  • 颜色选择:支持自定义颜色(含透明度)
  • 线条粗细:可调整线条粗细(1-20像素)
  • 不透明度控制:分别控制绘图和画布的不透明度

实用操作功能

  • 撤销/重做:支持多级撤销和重做操作
  • 清空画布:一键清除所有标注
  • 鼠标穿透:可切换鼠标穿透模式,使鼠标操作可直接作用于下层窗口
  • 画布显示/隐藏:可暂时隐藏画布
  • 单次绘制模式:每次绘制后自动清空画布,适合演示场景
  • 导入/导出:支持将标注内容导出为JSON文件,可随时导入恢复

界面与交互

  • 悬浮工具栏:可拖动的悬浮工具栏,包含所有操作
  • 工具栏折叠:可折叠工具栏以节省屏幕空间
  • 热键支持:全面的热键支持,可自定义所有操作的快捷键
  • 热键设置对话框:直观的热键设置界面
  • 配置保存:自动保存用户设置,包括颜色、线条粗细、不透明度和热键设置
  • 自定义字体大小:可以自定义用户界面的字体大小(不建议过大)

默认热键

功能热键
显示/隐藏窗口Ctrl+Alt+H
切换鼠标穿透Ctrl+Alt+P
显示/隐藏画布Ctrl+Alt+V
折叠/展开工具栏Ctrl+Alt+T
完全隐藏工具栏自定义
清空画布Ctrl+Alt+C
撤销Ctrl+Z
重做Ctrl+Y
单次绘制模式Ctrl+Alt+S
直线工具Ctrl+1
矩形工具Ctrl+2
圆形工具Ctrl+3
箭头工具Ctrl+4
自由绘制工具Ctrl+5
填充绘制工具Ctrl+Shift+5
点工具Ctrl+6
激光笔工具Ctrl+7
激光笔工具Ctrl+8

系统要求

  • Windows 7/8/10/11
  • Python 3.6+
  • PyQt5
  • pynput库(用于全局热键支持)

开始使用

  1. 启动程序后,将显示全屏透明画布和悬浮工具栏
  2. 使用工具栏选择绘图工具,或使用相应热键
  3. 在屏幕上绘制标注
  4. 使用Ctrl+Alt+P可切换鼠标穿透模式,使鼠标可操作下层窗口
  5. 使用Ctrl+Alt+H可暂时隐藏整个应用
  6. 使用右下角的保存按钮保存当前设置

自定义热键

  1. 点击工具栏上的"⚙️ 设置"按钮
  2. 在打开的设置对话框中修改热键
  3. 点击"保存"应用新的热键设置

项目结构

  • main.py:主程序,包含界面和交互逻辑
  • gui.py:画布相关实现
  • shapes.py:各类绘图形状的实现
  • hotkey_manager.py:热键管理器
  • hotkey_settings.py:热键设置对话框
  • config.py:配置文件处理
  • config.json:用户配置文件

许可

AGPL-3.0

贡献

欢迎提交问题报告、功能请求或代码贡献。

致谢

  • manus
  • claude sonnet 4
  • 感谢PyQt5提供的强大GUI库
  • 感谢pynput库提供的全局热键支持