| 类别 | 功能 |
|---|---|
| 📷 摄像头 | 实时画面采集,多设备/分辨率切换,旋转/镜像/黑白/亮度对比度调节,降噪,最小化自动关开 |
| 🖼 图片 | 导入本地图片,缩略图侧边栏,旋转/居中/删除 |
| 📄 文档 | PDF.js 渲染 PDF;PowerShell COM 自动转换 Word(Office/WPS/LibreOffice)为 PDF;系统文件关联 |
| ✏️ 批注 | 移动/批注/橡皮擦三模式,压感笔锋,Catmull-Rom 平滑,自定义颜色粗细,笔画分割擦除 |
| ↩️ 撤销 | Command 模式撤销重做,上限 50 步,超限自动压缩快照 |
| 🎨 主题 | 深色/浅色双内置主题,支持 .vst 自定义导入,实时切换 |
| 🌐 国际化 | 简体中文、繁体中文、英文 |
| ⚙️ 设置 | 画布/画笔/信号源/文件关联/缓存/日志管理,设置导入导出 JSON |
| 🔄 更新 | 检查 GitHub Release,多镜像下载,进度条,自动安装 |
| 📸 截图 | 画布合并导出 PNG,摄像头帧捕获,源切换自动保存批注快照 |
| 🧩 源管理 | 摄像头/图片/文档三源统一管理,缩放状态与批注自动保存恢复 |
| 🖥 渲染 | 双图层 + 平铺渲染 + 动态 DPR + 四叉树索引 + 自适应帧率 |
| 🚀 其他 | OOBE 首次引导、Splashscreen 启动屏、无框全屏窗口 |
| 层级 | 技术 |
|---|---|
| 前端 | Vanilla HTML5 + CSS3 + JavaScript (ES Module) — 无 bundler、无 Node.js 构建 |
| 后端 | Rust |
| 桌面框架 | Tauri v2 |
| PDF 渲染 | PDF.js |
| Word 转换 | PowerShell COM 互操作 (Office/WPS/LibreOffice) |
| 日志 | simplelog |
项目无需
npm/package.json,前端直接以 ES Module 方式加载。
- 操作系统:Windows 10 或更高版本(当前仅支持 Windows)
- 运行时:WebView2(下载地址)
- 摄像头:用于展台功能(可选)
- 内存:建议 4GB 以上
- 存储:约 100MB(含运行时)
- Microsoft Office / WPS Office / LibreOffice:用于 Word 文档转换
- Rust(稳定版,安装)
- Tauri CLI:
cargo install tauri-cli --locked - Cargo(随 Rust 一起安装)
# 开发模式(热重载)
cargo tauri dev
# 生产构建
cargo tauri buildCI 触发器:推送 v* 标签或手动触发。
本项目采用开源许可证,详见 LICENSE 文件。使用本仓库代码构建的应用也必须开源。
- PDF.js — Mozilla 的 PDF 渲染库
- mammoth.js — Word 文档转为 HTML
- html2canvas — HTML 元素渲染为 Canvas
- tauri-plugin-opener — 文件打开
- tauri-plugin-fs — 文件系统
- tauri-plugin-dialog — 对话框
- tauri-plugin-single-instance — 单实例
感谢所有开源社区的贡献!