3

我正在将 fabric.js 用于协作白板项目。我希望多个用户同时绘制手绘路径。为此,我想我可以为每个远程用户创建一个新的,并通过在远程用户执行这些操作时调用 PencilBrush 类的、和方法来PencilBrush模拟手绘。我创建了一个类似的 jsfiddle:http: //jsfiddle.net/dkostro/7sx8N/21/onMouseDown()onMouseMove()onMouseUp()

它同时绘制两条路径,用户也可以同时在画布上绘制。如您所见,其中一条路径以前从未见过,onMouseUp()而徒手画的也不是很漂亮。我认为问题在于每个PencilBrush实例在调用函数之前都会清除上面的画布元素_render,因此只能同时出现一条路径。

你能想出一种方法让它顺利运行,而不必过多地使用 fabric.js 代码吗?我想到的一个解决方案是为 each 设置一个单独的 canvas 元素PencilBrush,但这会弄乱 fabric.js 代码,并且可能不是一种干净的方法。还有其他建议吗?

编辑

我已经实现了我在问题中一直在考虑的一个解决方案(为每个用户单独的画布元素)。http://jsfiddle.net/stropitek/DzygL/14/。我不确定这可以扩展到多少用户,或者这是否是一个好的解决方案,但至少在这个例子中它似乎运作良好。

4

0 回答 0