KonvaJS 中的线条、路径和形状 类 有什么区别?

What's the differences with the line, path, and shape classes in KonvaJS?

我是 PaperJS 的忠实粉丝,但是,这个库并没有看到太多 activity 所以我们正在研究其他工具,比如 KonvaJS、Fabric 和 Pixi。我们想在这里复制示例:

http://paperjs.org/examples/path-simplification/

在 KonvaJS 中,但我们不确定哪个 class 最合适?我们应该使用被描述为具有张力的点的集合的线,我们在 Paper 中使用的路径工具,还是形状 class? KonvaJS 是否提供与上述论文示例中相同类型的贝塞尔曲线工具和形状边框、蓝线访问?

Konva.Line 需要将 x 和 y 的列表作为简单数组传递给它的点 属性,然后绘制连接这些点的直线。拉力属性可以让直线连接起来更弯曲

Konva.Path 希望您提供一个数据 属性 更像是一个 SVG 绘图指令列表,例如 move、lineto、arc 等(请参阅 Konva 文档中支持的指令列表以获取Konva.Path.数据here)

与您链接到的演示中的功能相比,没有 built-in 等效的 path-editing 功能 - 因此路径控制点上没有自动锚点,也没有贝塞尔曲线图柄。你将不得不自己动手做那些。话虽如此,这一切都是可以实现的——我的意思是控件锚点和线条的绘制,鼠标和拖动事件的监听,以及最终将 SVG 绘图数据传回 Konva.Path 形状时路径的编辑模式结束在 Konva 中都得到了很好的支持。

截至 2022 年 5 月,Konva 库得到了很好的支持,频率适当(正如 Goldilocks 所希望的那样——不要太多也不要太少),没有 ill-thought-out 重大变更,问题得到了回应,所以帖子已回复,Discord 频道繁忙。