我正在构建一个画布绘画工具,用户只需拖动鼠标即可在画布上绘画。据我了解,线条是完成这项工作的最佳方式。所以在鼠标按下时,我创建了一个 KineticJS Line 对象,当用户拖动时,我在最后一个鼠标位置和当前鼠标位置之间添加一个点。请注意,我只有一个具有多个点的线对象。
当用户松开鼠标时,线条就完成了,每当您再次单击以绘制更多内容时,我都会创建一个新的线条对象。
这样做的问题是,如果您要绘制文本,请说“我的名字是 x”,这将导致许多线条对象,每个字符 1 个(“x”和“i”有 2 个)。
有一个更好的方法吗?我的想法是只有一个 line 对象,并且 onmousedown 你根本不从前一个位置添加一条线,然后当你拖动你时。但我不认为 KineticJS Line 支持这一点。
所以基本上,我可以改进让用户绘制的方式吗?