本项目是 DrawInline 的改进,将鼠标控制器由 PyAutoGUI 换为驱动级的 pyinterception,从而能在更多场景中工作。此外,精简了大量代码。
- 必须安装 Interception 驱动,否则本工具不会起作用。
- 如果发现线条位置不对或具备随机性,尝试 设置->蓝牙与设备->鼠标->关闭 增强指针精确度 (set Settings->Bluetooth & device->Mouse->Enhance pointer precision to OFF)
- 这疑似是 pyinterception 或 Interception 的特性,尽管本工具的代码已经最大程度规避了该特性的影响
- 克隆仓库后安装虚拟环境
uv install - 用任意截图工具将想绘制的图片存入剪切板
- 运行 main.py,等待5秒后即会开始控制鼠标绘制
uv run main.py
- 使用 Canny 算法提取线稿
- 对线稿进行 thin 处理以精简线稿
- 使用深度优先搜索+广度优先搜索由线稿生成鼠标位移绝对坐标数组
- 将绝对坐标转换为相对坐标
- 根据相对坐标移动鼠标即可
./third_party/pyinterception 与原版本的唯一差别在于实现了 issue#42