做演示想圈个重点?先截图再编辑再贴回去
一个快捷键,桌面变画布到底有多爽
MarkerOn 屏幕标注体验
1.5MB 开源 · 8 种工具 · 穿透模式 · 全键盘操控
ifer47/markeron
📦 4 Parts + Conclusion
👉 滑动
PART 01
做演示的痛
截图循环
PART 02
轻量与操控
1.5MB + 8工具
PART 03
穿透模式
标注留鼠标过
PART 04
技术硬核
Canvas 引擎
PART ///
写在最后
安静的小工具
今天继续分享好用的 GitHub 项目。
逛 GitHub 的时候发现了一个叫 MarkerOn 的屏幕标注工具。说实话,这名字一开始没太在意——标注工具嘛,能有什么新鲜的。但点进去看了一眼 GIF 演示,我当时就愣住了。
GitHub 项目名片名称:MarkerOn
仓库:ifer47/markeron
Stars:⭐ 64 | 协议:MIT 开源
作者:ifer47
平台:Windows / macOS | 安装包:1.5 MB

— MarkerOn 标注演示界面 —
按一下 Ctrl+Shift+D,整个桌面直接变成画布,鼠标指哪儿画哪儿。退出?按 Esc,干干净净,什么都没留下。
没了。就这么简单。

01
PART
做演示时想圈个重点
THE PAIN · 截图循环的崩溃
但就是这么简单的东西,用过之后我是真的觉得——每个经常做演示、录教程、开会讲方案的人,都该装一个。
坦率的讲,市面上不是没有屏幕标注工具。ZoomIt 是微软出的,功能基础但只支持 Windows。Presentify 在 macOS 上体验不错,但要收费。gInk 也是一个选择,Windows 下能用,就是功能比较基础。
MarkerOn 跟他们都不一样。
02
PART
1.5MB 的极致与全键盘
LIGHTWEIGHT · 8 种工具全键盘操控
首先是轻。安装包 1.5 MB。1.5 MB 什么概念?一张手机拍的高清照片都比它大。能做到这么小,跟它的技术选型有直接关系——MarkerOn 用的是 Tauri v2,不是 Electron。Tauri 不打包完整的浏览器内核,而是用系统自带的 WebView,Rust 来管窗口和快捷键这些原生能力,Vue 只负责界面和交互。所以它不止安装小,跑起来内存占用也极低,待机几乎零 CPU。
我跟你说,就冲这个体量,常驻系统托盘完全不心疼。
然后是全键盘。进入标注模式之后,数字键 1 到 7 直接切工具:1 画笔、2 荧光笔、3 箭头、4 矩形、5 椭圆、6 直线、7 橡皮擦,T 是文字。Q 和 E 切颜色,Ctrl 加滚轮调粗细,Space 呼出设置面板。
1 画笔 · 2 荧光笔 · 3 箭头 · 4 矩形 · 5 椭圆 · 6 直线 · 7 橡皮擦 · T 文字
什么意思呢?就是你鼠标正指着屏幕上的重点,手不用离开键盘去翻菜单,直接按个数字键,工具就换了。整个标注过程,全程键盘操控,流畅到不像话。
更骚的是修饰键组合。你在画笔模式下,按住 Ctrl 一拖就是矩形,按住 Shift 一拖就是椭圆,按住 Alt 一拖就是直线。你不需要先切到矩形工具再画,画完再切回画笔——修饰键直接帮你完成了这个切换。这个交互设计,真的用心了。
说真的,这种细节上的顺手,不是功能列表能体现的,你得上手用一次才能感受到。
03
PART
穿透模式,标注留着鼠标过
PENETRATE · 标注层与操作层共存
这是 MarkerOn 最有辨识度的功能,也是我在其他标注工具里没见过的。
什么意思呢?普通标注工具,你一进入标注模式,整个屏幕被一层透明画布盖住,鼠标只能在这层画布上画东西,下面的软件你点不了、拖不了、滚动不了。你要操作下面的软件?得先退出标注模式。
MarkerOn 可以按 X 切到穿透模式:你画的那些圈圈、箭头、文字还留在屏幕上,但鼠标可以穿过标注层,直接操作下面的窗口。你可以边讲边翻页、边标注边拖滚动条、边圈重点边点按钮。需要继续画的时候,再按一下 X 切回来。
画个圈→退出标注→翻一页→再开标注→再画个圈
以前一节课下来几十次切换,现在?全程不打断
实现上,这不是简单地把 Canvas 设成 pointer-events: none 就完事了。桌面覆盖层本身是原生窗口,真正的穿透需要后端切换窗口是否忽略光标事件。MarkerOn 的 Rust 后端在这里做了很细的状态管理:绘制窗口是否接收事件、工具栏是否置顶、鼠标是否在工具栏区域、白板模式是否允许穿透,这些状态全部分开处理。
所以它不会出现那种「穿透之后连工具栏都点不了」的尴尬。

04
PART
技术硬核,但用得出来的流畅
CRAFTSMANSHIP · Canvas 引擎的细节
MarkerOn 的 Canvas 引擎写得挺讲究。画笔不是简单的 lineTo 连线,用的是 二次贝塞尔曲线做平滑插值,写出来的线条不抖不涩。橡皮擦也不是直接删历史记录——它是「非破坏性」的,擦除笔画作为 attachedErasers 附加到被擦除的目标上,渲染的时候用离屏 Canvas 加 destination-out 合成模式把擦除区域挖掉。
这样做的好处是什么?擦除可以完美撤销。Undo 的时候不需要重建被擦除的数据,直接回滚 attachedErasers 就行。而且如果你拖拽移动了一个被部分擦除的图形,擦除效果会跟着走。
还有一个细节:碰撞检测。拖拽和擦除都要做元素命中检测,MarkerOn 维护了一个空间哈希网格,HIT_GRID_SIZE = 192,只查光标所在网格里的元素,避开了逐点遍历全部历史的性能坑。
我不是想说它代码写得多牛——我是想说,作者是真的在认真做这个工具。一个 1.5MB 的标注工具,引擎里有贝塞尔平滑、非破坏性橡皮擦、空间网格加速、RAF 批量渲染——这些优化不是在 GitHub README 里能看到的,但你用起来能感受到。
流畅。就是单纯的流畅。

安装也很简单。GitHub Releases 直接下载安装包,Microsoft Store 搜 MarkerOn 一键安装,winget 命令行也行:
CMDwinget install --id 9N6623X973JV --source msstore
CMDscoop bucket add extras && scoop install markeron
Scoop 用户也行。v2.2.0 还出了 Windows 绿色免安装版,下载 zip 解压就能跑,配置保存在程序旁边的 data 目录里,不放 AppData,放 U 盘里带着都行。
有一说一,这个工具不是完美的。个人项目,Stars 64,不算多。多显示器混合 DPI 的兼容还在完善,数位板和手写笔的部分场景也还有坑。不支持 Linux,某些全屏视频应用叠加时可能有窗口层级小问题。但——这些都不影响它成为目前我用过的最趁手的标注工具。
///
LAST
安静的小工具
OPEN SOURCE SPIRIT
而且它不联网、不追踪、不收集任何数据。没有遥测,没有更新检查,没有账号系统。你画的每一条线都只在内存里,退出标注模式就清掉,除非你自己截图保存。
MarkerOn 让我想起那些经典的开源小工具
简单、克制、不贪功能、不碰你的数据
没了。就这么简单。
我是 Patrick,热衷于分享实用好玩的工具。
既然看到这里了,如果觉得有用,随手点个赞、在看、转发三连吧。
THANKS FOR READING
夜雨聆风