InkTeach
InkTeach 图标

最新 9.4.4 · 自动更新清理旧备份

在 PPT 上,直接写板书

InkTeach 是一层透明批注覆盖层:浮在 PPT / WPS / PDF / 图片 / 任意软件之上。 板书写在自己的图层里,底下的内容一点没动;点一下就把鼠标还回去, 想写字时再用全局键把人拉回来。图形和图片拖动会自动对齐, 板书与名单存在本机;匿名设备/性能统计见隐私说明,安装不需要管理员权限。

下载安装包(国内直连) GitHub Releases 看看更新

Windows 10 / 11 · 64 位 · 免装 .NET · AOT 单 exe 约 11MB · 开源 GPL-3.0(可商业授权) · 9.4.4

演示:手写一个圆 → 停顿变图形 → 选中拖动 → 截图取景

手写一个歪圆 → 停住 0.4 秒自动变规整图形 → 选中拖动 → 截图取景

数学老师最常用:函数图像 + 立体几何

不是“能画图”,而是每个定义元素都能直接拖:抛物线换开口、双曲线看渐近线、圆柱/圆锥改比例,拖动时实时显示读数。22 种图形里,数学课堂最常用的都在这里。

抛物线四个方向、双曲线、正弦余弦等函数图像
函数图像
抛物线四方向、双曲线、正弦 / 余弦 / 正切 / 波浪线
双曲线有无渐近线、椭圆有无焦点对比
圆锥曲线
双曲线有 / 无渐近线,椭圆有 / 无焦点,同页对比
圆柱、圆锥、圆台、球、棱柱、棱锥、棱台
立体几何
圆柱 / 圆锥 / 圆台 / 球,棱柱 / 棱锥 / 棱台

端点、顶点、焦点、半轴、渐近线、母线都能拖;特殊角软吸附,拖动时显示角度 / 半径 / 长度。

特色:这几个地方,市面上的批注软件基本没做

不堆功能清单,只讲我们认为真正解决了课堂里某个具体麻烦的地方。

01色带:平时 6 像素,用时才长成设置条

工具选中后,头顶那条设置条不是一直摊着的,而是压成 6 像素一条色线; 鼠标碰到它,120ms 张开到 34 像素的完整设置条,移开等 450ms 才收—— "快出慢隐",和 Windows 任务栏自动隐藏同一套手感。

压成线以后仍然可以直接点:8 个色片在 6 像素里照样点得到,不用"先展开再选"。 挑颜色是最高频动作,逼人走两步就等于不好用。

主工具带与色带式设置条
下:胶囊工具带 | 上:色带展开后的设置条
色带收起:平时只是工具带上沿的一条 6 像素色线
收起:平时只是一条 6 像素色线,8 个色片照样点得到

02贴边隐藏:藏起来只剩一条 48 像素把手

把工具带拖到屏幕底边,它缩到只剩一条把手(长 48、厚 8,颜色就是当前笔色)。 48 不是随手定的:项目另一条规矩写着"48 是点得到的最小东西,触摸屏上也够"—— 而藏起来的时候恰恰是最需要一次点中的时候,教室里没键盘,工具找不到是真问题。

贴边判定用"离屏幕底 ≤10 像素",不是离任务栏上沿——所以默认位置不会误触发, 要收起来必须明确把面板拖到最底下。

贴边隐藏:露着是圆钮,藏到底只剩一条 48×8 的把手
露着是一个圆钮(左)→ 拖到屏幕底边隐藏后,只剩一条 48×8 的把手(右,颜色是当前笔色)

03呼出盘:按住一个全局键,划向扇区,松手切

Ctrl+Alt+Shift+Q(全局键,任何程序在前台都生效): 按住不放,光标处浮出八扇面,划向要的工具或颜色,松手执行。 八扇区 = 笔 / 黑 / 红 / 蓝 / 橡皮 / 框选 / 荧光笔 / 激光。

熟手不用等盘:出盘有 120ms 延迟,直接划走盘根本不闪。 开着穿透也能按——它是"把笔从下层抢回来"的入口:选一个扇区就退出穿透并切到它; 想继续用下面的程序就把鼠标松在盘心(只是取消,穿透不动)。
它不新增任何命令:扇区里的动作和工具键走完全同一条路。

呼出盘:按住全局键,光标处浮出八扇面
呼出盘:八扇区 = 笔 / 黑 / 红 / 蓝 / 橡皮 / 框选 / 荧光笔 / 激光

04穿透 + 全局键:能"过手",也能"抢回来"

点一下「鼠标」那格(或全局 Ctrl+Alt+Shift+T) 鼠标就还给下层程序,可以正常去点 PPT。这时候想写字,不用去找工具带—— 全局键直接把人拉回来:呼出盘换工具、穿透开关退出、退出程序同理。

三条全局键统一是 Ctrl+Alt+Shift+… 三层修饰, 就是为了不和别的软件撞车。

05停顿成图形:手写一笔,停住 0.4 秒

手写一个歪圆,笔尖停住约 400ms,它变成一个规整的圆;按住还能拖到位再松手。 直线、矩形、三角形、平行四边形同理。吸附和"用图形工具画直线"是同一套 (特殊角软吸附 ±1°、Shift 15° 硬网格、Alt 自由)。

0622 种图形:从函数图像到立体几何

直线 / 箭头 / 矩形 / 椭圆 / 圆 / 三角形 / 平行四边形 / 坐标系; 抛物线 / 双曲线 / 正弦 / 余弦 / 波浪线 / 正切; 圆柱 / 圆锥 / 圆台 / 球 / 棱柱 / 棱锥 / 棱台。

每个定义元素都是可以直接拖的手柄(端点、半轴、顶点、焦点、渐近线…), 拖的时候有特殊形状吸附(正方形、正圆、姿态角),并实时显示角度 / 半径 / 长度读数。

图形设置条:22 段
22 段图形,含圆锥曲线与立体图形
图形库总览:22 类图形与每一类的变体
图形库总览:22 类,每一类都有多档变体(实线 / 虚线 / 点线、带网格 / 不带…)
学科图形:抛物线、双曲线、正余弦、正切与立体
学科图形:抛物线四种开口、双曲线、正弦 / 余弦 / 波浪线、正切,以及圆柱 / 圆锥 / 圆台 / 球

07PPT 逐页隔离:翻页只看这一页,每页都记得

进放映自动进入、退出自动回桌面页。每一页的墨迹完全隔离,页内还能滚动、 每页记住滚到哪;自动存 / 自动读,支持回放本页墨迹 (把这一页的书写过程重放一遍)。

连不上 PowerPoint / WPS 时零症状——不联动而已,不报错、不卡、不弹窗。

08选中 / 截图 / 剪贴板对象

点选 / 框选 / 套索,8 手柄 + 旋转(90° 软吸附);小对象自动改用"最小操作框", 手柄不压住内容。拖动旋转期间模型一个字不改,预览画在浮动层,松手才提交,一步撤销。

截图:冻结整屏 → 拖框 → 松开调整 → 原位落 + 自动选中 + 进剪贴板。 Ctrl+C 在同一次剪贴板会话里同时放对象字节和一张透明 PNG: 粘回批注仍是可编辑对象,粘到 Word / PPT / 微信是一张图。

截图取景与调整
截图取景:拖框、8 手柄调整

09激光笔:干净的红边 + 白芯(9.2.1)

不再画一圈圈外围光晕——现在只有饱和红边 + 纯白芯两层,白板、PPT 和深色背景上都清楚。 按住写时整条保留;松手后停 2 秒,再整体淡出 0.6 秒;抬手再写,多条可以同时存在。

粗细 2–24 逻辑像素,滑条对轨迹真的生效;它不是笔迹,不进文档、不进撤销、橡皮也擦不掉。 9.2.1 还修掉了最后一条淡出后偶尔留在屏幕上的残影。

笔、荧光笔、激光笔三种笔
笔 / 荧光笔 / 激光笔:三种节奏,一键切换
激光笔:干净的红边 + 白芯
激光笔:干净的红边 + 白芯,没有外围光晕

10PDF / 图片批注:一页一页讲

图片可多选、PDF 一次一份,纵向铺成一叠:滚轮细滚、PageUp/PageDown 翻页, 批注照旧写在页面上。PDF 按屏幕物理宽显示,A4 试卷/课本看得清;超长图自动切片,不会压成一根针。

页位图是独立的“文档页层”,只留视口附近的几页,后台线程渲染;不写进 .inkb、 不进回放/导出、不占撤销栈。PDF 渲染用 PDFium,随包带库和许可文本。

11对象吸附:拖图形不再靠眼估(9.2.0 / 9.2.2)

单选图形或图片整体拖动时,选中框的左/中/右与目标框左/中/右自动对齐,横向同理; 软相交 24px,进入 5px / 离开 8px,Alt 临时关闭。

9.2.2 起直线、箭头、数轴这类轴目标只认真正的中心线,正弦对 X 轴不会再被笔迹上/下沿抢走; 9.2.3 起两条正弦、余弦或波浪线之间按曲线中心线端点拼接,接缝不再差一个笔宽。 目标侧不显示目标框,只有被拖对象出现淡橙色中心十字;圆的永久圆心改成细墨点。 背景里的手写、擦断碎片和多选不参与,避免“整屏都在抢”。

深色主题

不是"把颜色反过来",是两套分别调过的主题。

深浅两套是分别调的

浅色靠"底沿一道暗边"读出厚度,深色靠"顶沿一道高光"读接光—— 把深色那套直接反相,层次感会整个塌掉。

深色主题的「更多」面板
「更多」面板(深色)
深色主题的计时窗
计时窗(深色)· 进度环跟着当前笔色走
深色主题的呼出盘
呼出盘(深色)· 按住全局键即出,划向扇区松手切换
动图:深色主题下,色带收起是一条线,鼠标碰到张开成设置条
动图:深色主题下,色带收起 ↔ 展开(鼠标碰到才张开)
深色主题的随机点名窗
随机点名(深色):抽中的人是一枚枚名牌,不是一列纯文字

浅色界面

主工具带与当前工具的设置条
工具带 + 设置条(笔:色板 / 线型 / 粗细)
选中框、操作条与颜色面板
选中框、十格操作条、颜色面板
课堂计时器
课堂计时器:环形进度、主按钮带文字
随机点名
随机点名:抽过不重复

课堂窗和工具带是同一套视觉语言(分段控件、方块幽灵钮、带文字的主按钮), 深浅两套主题都有。计时器到点时数字和进度环一起变红,投影上远处一眼就看见。 秒表主显示始终是总时间,「计次」只记录本段而不打断计时,暂停后自动汇总分段成绩。

技术说明:为什么是 Direct2D + .NET 10

这一段给技术同学;普通用户可以跳过,直接看下载。常被问:"批注软件用 D2D,是不是大炮打蚊子?" 不是——不是为了画动画选它,而是有三件事只有这一条路能做,而且都不是渲染特效。

为什么是 D2D / DirectComposition

① 笔迹交给系统合成器画,CPU 只送点。 有压感时走 D2D 原生墨迹 ID2D1Ink(逐点半径变宽);真笔书写那一段的"湿墨" 直接委托 Windows 的 Inking 引擎(DwmInk 轨迹)去画,不是我们模拟出来的。 这一条的意义不是"我们延迟更低"——延迟谁都能吹——而是湿墨这种效果不需要我们去追: 它是系统给的,我们只负责把点按时送到。

② 三层共用一条管线,各自按脏区增量出帧。 板书内容层、覆盖层界面、PPT 联动条是三个独立合成目标。内容层在画布空间分块 + 脏矩形增量修补——落笔只重画那一小块;拖动一万条选中的内容时,内容层一帧重画 0 块, 预览画在浮动层,松手才落模型。

③ 界面全部自绘,没有一个第三方 UI 控件。 圆角、投影、悬停、色带、分段、名牌全是我们的几何。好处很具体: 深色主题、200% DPI、投影仪偏色,都是改 src/InkUi/Tokens.cs 一个文件的事, 不用和某个框架的主题系统打架。
代价也说实话:自绘没有设计器,靠"单点收口 + 离屏出图"代替—— --panelshow 能把任意一格、任意一页面板离屏渲染成图当设计稿看。

为什么是 .NET 10(而不是 C++ / WPF / WinUI3)

理由具体是什么
教室机能装自包含发布,绿色版解压即用:不弹 UAC、不装 .NET、拷 U 盘就能用。学校机器往往锁着安装权限,装不上等于用不了
不背 UI 框架我们要的是"一块透明覆盖层 + 逐帧增量出帧"。WPF/WinUI 的合成与主题行为在这里全是负担(WinUI 的 Mica/亚克力在投影仪上掉帧,我们明确不做毛玻璃)
AOT 已经跑通并成为默认"自绘 UI + P/Invoke + Vortice"恰好是少数能走 Native AOT 的 Windows 桌面栈之一——WPF / WinForms / WinUI3 官方就不支持 trimming / AOT。v8.9.0 起默认发 AOT:单 exe、冷启动约 642ms,绿色包从 74MB 目录缩到 11MB 级单 exe;JIT 自包含版仍可用 publish.ps1 -Jit 保留
GC 我们自己管书写期间切 SustainedLowLatency,自检断言一笔全程不发生第 2 代回收——这是靠"能控制 GC 模式"换来的

已知短板(不想吹过头)

  • 系统湿墨委托轨迹只在 Win11 24H2+ 启用:Win10 和更早的 Win11 主动走软件自绘,不影响书写;这是按系统已知缺陷做的取舍。
  • 内存不便宜:AOT 空载提交约 88MB,一万笔约 388MB——其中 D3D/D2D 设备与交换链约占 42MB,运行时/程序集约 12MB(AOT),其余是我们的代码和数据。
  • PDF 依赖随包的 pdfium.dll:只拷 exe 时 PDF 会提示缺库,其它功能不受影响;PDF 的按页独立撤销/清空、带批注导出仍在下一步。
  • 系统要求:Windows 10 / 11 x64;ARM64 和 32 位没有专用包,x64 模拟未做专门验证。

底层细节

9.x 继续把"脏区 / 相机 / 分块缓存 / 出帧"这条渲染路径, 对着 Xournal++ 的分块与预取、Rnote 的视口余量、MyPaint 的 tile 分区纪律、 Excalidraw 的相机处理、Windows Terminal 的后缓冲不变量逐条过了一遍; 9.2.1 的激光笔也把 13 层柔光收成红边+白芯两层,并补上淡出后的清屏帧。 能直接对齐上游稳定做法的,就直接对齐,不重新发明。

细节做法
画布空间分块缓存内容层按 256 像素一块烘进缓存(块原点对齐画布像素,拼接无缝);预算内常驻,超预算按 LRU 淘汰
脏矩形 + 部分上屏每帧只提交最少的脏矩形(Present1);滚动条这类常驻元素的脏区按可见性门控——不可见就不进脏区,否则"滚动条 ∪ 笔迹"的并集会把别的列扫出屏幕
双缓冲一致性相机变化(滚动 / 缩放)之后连续两帧整屏重铺,保证两个后缓冲都是新相机——借的是 Windows Terminal 那条"后缓冲不变量"纪律
视口外预取视口外一圈的分块在空闲帧提前烘好(每帧限量、有预算,也可关)——滚到新区域没有"补课"卡顿(Xournal++ 预载 / Rnote 视口余量)
相机取整相机平移按设备像素取整:静态内容在原位重画,不会再因为亚像素抖动"糊一下"
拖动零重画拖动 / 旋转一万条选中内容时,内容层 0 块/帧重画:预览画在浮动层,松手才提交(一步撤销)
撤销保序"清空"的撤销是按原位置插回每条墨迹,撤销后文档与清空前逐字节一致,不靠"追加"

每一条都在自检里挂着开关和量化数字 (--prefetchtest / --scrollflash / --longrun …), 不是"感觉快了"——FAIL 时自检退出码为 1。

实测数字

本机 2 倍屏 / Iris Xe。测试方法、环境与全部数据见仓库文档; 每个数字都有断言,FAIL 时自检退出码为 1。

项目实测
Present 返回 → 屏幕变色1.0 个刷新周期(未配速 3.5)
拖动一万条选中的内容内容层 0 块/帧重画;每帧记录 2.7ms
空闲帧0(有东西动才画)
冷启动(窗口可见)267 ms(同机空白 WPF 窗 402 ms)
书写期间 GCSustainedLowLatency,一笔全程保持
常驻内存(AOT 空载 / 一万笔)提交约 88MB / 388MB

最近更新

当前最新版 9.4.4。这里只放最影响课堂体验的几条,完整记录在仓库的《发版历史》。

9.4.4 · 自动更新清理旧备份

换壳前先确认旧进程已退出、更新包根目录确实有 InkTeach.exe,解压后再校验一次;从 .old 备份启动时改为更新稳定主目录,不再套娃。新版本启动 5 秒后自动清理同目录遗留的 *.old-*,绿色版和安装版都清;安装包卸载时也会一并删掉旧备份。下载、校验、换壳流程不变。

9.4.2 · 双指手势放宽 / 惯性滚动

两指在 300ms 内落下即可升级为手势,不再要求第一指没移动;两指左右翻页、上下滚动,纵向松手带惯性。三指擦保持原逻辑。另从「更多」移除重复的收藏入口,修复收藏弹窗与「更多」叠层闪烁。

9.4.1 · 收藏弹窗全屏拿起 / 滚动钉屏

点收藏卡片拿起,整屏出现虚影,点一下或拖到位置放下;拿起时面板和工具条一起让位,Esc / 右键退出。放下后临时选中,点空白或 Esc 恢复插入前的工具。面板最小 1×2,横竖排手动切换;缩放连续跟手,松手吸附整格。白板滚动时弹窗钉在屏幕上,卡片和页签不再被裁掉。

9.4.0 · 呼出盘重做 / 清空当前页

呼出盘八扇区重排为红笔 / 荧光笔 / 下一色 / 框选 / 橡皮 / 清屏 / 上一色 / 撤销;中央显示当前功能图标 + 颜色环,划到哪格实时预览。清屏停 0.8 秒才执行、只清当前页;盘不再 5 秒自动消失。橡皮带的“清空”也改为只清当前页。

9.3.2 · 触摸模式 / 隐私同意 / 穿透回画笔

新增「触摸模式:手势 / 单指」:手势模式保留双指翻页缩放、三指擦、长按选择;单指模式只允许一个触点写字、完全无手势。取消面积/手掌擦(大触点触发橡皮),三指擦只在手势模式生效。退出穿透直接回到画笔;设备与性能统计改为首次明确同意后上传,可随时在设置中关闭。

9.3.1 · 自定义色 / 极简 3–5 格

白色色片改为自定义色:单击使用,已选中时再点打开 HSV 取色板;支持屏幕吸管和最近颜色,重启后恢复。极简固定 5 格(球 / 鼠标 / 画笔 / 橡皮 / 更多),自定义只锁鼠标和更多,最少可到 3 格。色带按 5 / 4 / 3 格降为 4 色 + 短滑条、4 色 + 粗细按钮、3 色 + 粗细按钮;橡皮极简 3 档,清屏动作收起。

9.2.9 · 开机自动启动

「更多 → 设置 → 外观」新增可选开机自启动,默认关。只写当前用户 HKCU Run,不弹 UAC;登录后在后台待命:保持穿透、工具条收成小球,不抢焦点、不恢复旧板书,点小球或再双击 exe 才进入画笔。任务管理器禁用会按“关”显示,移动程序目录会自动修路径,卸载会清理登记。

9.2.7 · 使用说明页 / 翻页键修正

使用说明改为「更多」里的第三页,和设置共用同一套界面、DPI 与命中逻辑;200% 缩放下居中,点「手势 / 快捷键」不再消失。移除湿墨档位设置和 Ctrl+Alt+Shift+W 快捷键;PageUp / PageDown 按白板 / PPT / 文档自动翻页,PPT 仍支持 ← / →。

9.2.6 · 白板专属页码条 / PPT 独立背景

白板打开时底部页码条只做白板的事:指定页码、播放本屏、清空白板槽(两次确认)、退出白板,和色带翻页共用同一相机。清空只清白板并回第 1 屏、可撤销;PPT 遥控翻页 / 结束放映不打断白板,关板回当前 PPT 页;白板页界线不再绘制。

9.2.5 · 秒表计次 / 分段统计

秒表主显示始终是总时间,跑着时按「计次」只记本段、不打断计时;暂停后列出本段 / 累计 / 平均 / 最快 / 最慢,继续保留记录,重置才清空。倒计时和正计时的冗余说明行已移除,按钮间距重新排开。

9.2.4 · 白板独立页 / 复制与退格

白板拥有独立页码和相机:开板冻结当前 PDF / 图片 / PPT 页,白板翻页不再把文档带回第 1 页,关板回原页。Backspace 可直接删除选中;选择条“复制”改为原件保留、副本错位选中并同时进剪贴板。

9.2.3 · 曲线拼缝

两条正弦、余弦或波浪线拼接时按曲线中心线端点吸附,不再出现“外沿碰上了、中心线还差一个笔宽”的小台阶。

9.2.2 · 更新红点 / 轴线吸附

启动后静默检查更新,发现新版本时在球 /「更多」/「检查更新」上亮小红点;直线、箭头、数轴的吸附只认中心线,正弦对 X 轴不再被笔迹上下沿抢走。

9.2.1 · 激光笔

撤掉 13 层外围光晕,改成干净的红边 + 白芯;同时修掉最后一条淡出后偶尔留在屏幕上的残影。

9.2.0 · 对象吸附

图形/图片单选整体拖动支持选中框 3×3 对齐;进入 5px、离开 8px,Alt 关闭;圆的永久圆心改成细墨点。

9.1 · PDF / 图片批注

PDF 一次一份、图片可多选;页位图独立缓存,只留视口附近几页;PDFium 随包发布,缺库只影响 PDF。

完整更新与校验值:GitHub 发版历史 | Release 列表。

下载与安装

当前版本 9.4.4 · AOT 单 exe,安装包 8.72MB / 绿色包 9.51MB(以实际发布件为准) · 免装 .NET · zip 与 Setup 都会在启动更新时校验 sha256。

安装包(推荐)

双击 → 下一步 → 完事,不弹 UAC:装到当前用户目录,自动更新也不会要管理员。 批量部署可静默安装:InkTeach-Setup-*.exe /VERYSILENT。

国内下载(免登录直链)

蓝色按钮是附件直链,点开即下;想挑版本或看更新说明:GitCode 发行版。

绿色版

解压 InkTeach-*-win-x64.zip,双击 InkTeach.exe 就能用; 拷 U 盘、换机器都不求人。运行时已经打进去,不需要装 .NET。 目录里要保留 InkTeach.exe 和 pdfium.dll(PDF 渲染库)。

国内下载(免登录直链)

几个常用键

Ctrl+Alt+Shift+T / X穿透 / 退出(全局)
Ctrl+Alt+Shift+Q呼出盘:按住划向扇区,松手切换(全局;开着穿透也能用,选扇区即退出穿透)
Ctrl+P / I / L / E笔 / 荧光笔 / 激光笔 / 橡皮
Ctrl+M / S选中 / 截图
PageUp / PageDown翻屏(放映时翻 PPT)

完整键表与自定义方法见仓库里的《快捷键总表》。

开源与许可

InkTeach 以 GPL-3.0 开源:可自由使用、修改、分发(包括商用),衍生产品需按 GPL 开源。 需要闭源商用 / 嵌入自有产品,可联系作者谈商业授权。

数据默认只存本机:设置在 %APPDATA%\InkTeach,自动存档在 %LOCALAPPDATA%\InkTeach, 点名名单是 %APPDATA%\InkTeach\Names.txt。更新检查在启动 8 秒后静默做一次、之后每 6 小时一次 (只读取更新清单,不上传任何内容);发现新版本时,收起态的球 / 展开态的「更多」会出现小红点。 下载包先校验 sha256 再换壳安装。

为统计安装量和定位卡顿,软件会按天上传匿名设备卡(安装 ID、版本、系统/硬件、帧率/慢帧/内存、触摸统计), 不含姓名、账号、课件、作业或屏幕内容;9.3.2 起已改为首次明确同意后上传,拒绝不影响使用, 之后可在「设置 → 书写 → 设备与性能统计」随时关闭。详见 隐私说明。

GitHub 源码 GitCode 镜像