“擦除SVG笔划”的逻辑?

问题描述

问题

嗨,

所以我注意到 Microsoft Edge 和 OneNote 和 Notability 等软件将手绘笔划存储为矢量曲线或线条。它们还提供了擦除笔划的功能方法是将橡皮擦拖过笔划。

我想在我的软件中实现类似的东西,一个 SVG Animation and Creation 包,我想出了手绘笔画到 SVG 曲线的逻辑,这里有一个演示: https://phantomzback.github.io/SvgFreehandDrawDemo/polylineTest.html

它使用带有光标位置的 polyline 标签,路径简化也是我计划实现的。但在此之前,我需要一种方法来检测橡皮擦是否已经覆盖笔划。我有一种方法,但我不确定它的方法有多好。如果您就如何改进这一点或解决问题的替代方法提出建议,我将不胜感激。

当前想法

找到渲染笔触的像素,并将其保存在一个数组中。然后,检查橡皮擦工具是否处于活动状态并越过该笔划。如果是,请删除此笔画。

查找像素不应该很困难,因为折线是在它们之间绘制的一堆点和线。但我计划稍后添加对路径的支持,为此可能需要更好的方法


提前致谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)