Rnote:开源手写笔记与矢量绘图应用
【免费下载链接】rnoteSketch and take handwritten notes.项目地址: https://gitcode.com/GitHub_Trending/rn/rnote
上课赶进度,老师讲到的重点来不及记全;或者拿到一份 PDF,想直接在页面上圈画批注。Rnote 就是为这类事情做的手写笔记与矢量绘图应用:把 PDF 或图片当底稿导入,用触控笔在上面书写、画图,再导出分享。它面向学生、老师和有绘图板的使用者。
背后的技术:Rust 加 GTK4 的桌面应用
Rnote 用 Rust 编写,界面基于 GTK4 与 libadwaita,是原生桌面应用而不是 Web 套壳:启动快,触控笔事件直接来自系统。画布渲染走 Cairo,笔迹与图形都以矢量保存,放大到两倍再看细节,线条依然清晰,不会糊。手写笔迹还会经过平滑建模处理,比原始采样点更顺滑。文档用 .rnote 格式保存,本质是压缩过的 JSON,并带有自动保存。代码拆成 UI、引擎、图形合成、CLI 四个模块,笔刷、形状、选择器各自独立,方便按需扩展。
从一份 PDF 开始批注
下面走一遍最典型的流程:给一份 PDF 做批注。
把文件拖进工作区
打开应用,右侧的工作区浏览器列着当前目录下的所有文件——PDF、图片、.rnote 文档都在。点一下某个 PDF,它就以底稿出现在画布上;也可以直接拖文件进窗口,或从剪贴板粘贴。相关文件基本不用切出去找。
用笔书写和画形状
底部工具条一排摆着笔、形状、选择、打字机等工具。选笔开写,压感映射到粗细,笔刷样式可在实心、马克笔、纹理之间切换,颜色和线宽随时调。框住一段话就切到形状工具画矩形,标注流程有现成的箭头。写出的字、画出的图都是独立对象,和底图分开存储,之后可以单独动。
选中调整,再导出分享
位置不满意就用选择工具:框选后可以移动、旋转、缩放,还能修改内容。导出时,整份文档能存成 SVG 或 PDF,单页或选中区域能另存为 PNG、JPEG,发出去、贴网页都合适。多份文档可以开在不同标签页里同时处理。
几个值得留意的设计
四种画布布局。固定页、连续垂直、半无限、全无限,默认是无限画布。整门课的笔记可以一路向下滚,头脑风暴则四向都不受限。
压感加笔迹建模。笔压映射到线宽,笔画再经过平滑处理,手写出来的曲线更接近纸上的感觉;实心、马克笔、纹理三种笔刷对应不同书写场景。
可选的笔触音效。内置笔刷、马克笔、打字机几组声音,想有"落笔声"就打开,不需要就关掉,默认不响。
内嵌工作区浏览器。当前目录的文件直接列在侧栏,拖放、剪贴板都支持,找相关文件不用切回文件管理器。
自带 CLI 工具。rnote-cli 能对 .rnote 文件做自动化处理,适合放进脚本。
安装与快速体验
Linux 上最简单:flatpak install flathub com.github.flxzt.rnote。Windows 可用winget install flxzt.rnote,或到项目的发行版页面下载安装包;macOS 有社区维护的应用包。两点提醒:应用不支持 X11,请用 Wayland;要用压感和笔按键,系统里需要 libinput 和 libwacom。文件格式仍在演进,旧文档打不开时,可在 Flathub 回退到对应旧版本。想从源码构建,文档在 BUILDING.md,贡献流程见 CONTRIBUTING.md,clone 仓库地址是https://gitcode.com/GitHub_Trending/rn/rnote。
Rnote 把"用笔在屏幕上写写画画"做成了完整闭环:导入底稿、批注、选中编辑、导出,每一步都有对应工具。项目仍在快速迭代,当前版本 0.15.0,文件格式偶有兼容小坑,核心体验已经够用。装一个 flatpak,导入一份 PDF 试试手感,比读介绍更快。
【免费下载链接】rnoteSketch and take handwritten notes.项目地址: https://gitcode.com/GitHub_Trending/rn/rnote
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考